diff options
1079 files changed, 2621 insertions, 2976 deletions
diff --git a/arch/frv/kernel/dma.c b/arch/frv/kernel/dma.c index f5de6cf7df4..156184e17e5 100644 --- a/arch/frv/kernel/dma.c +++ b/arch/frv/kernel/dma.c @@ -121,15 +121,14 @@ 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, struct pt_regs *regs) +static irqreturn_t dma_irq_handler(int irq, void *_channel)  {  	struct frv_dma_channel *channel = _channel;  	frv_clear_dma_inprogress(channel - frv_dma_channels);  	return channel->handler(channel - frv_dma_channels,  				__get_DMAC(channel->ioaddr, CSTR), -				channel->data, -				regs); +				channel->data);  } /* end dma_irq_handler() */ diff --git a/arch/frv/kernel/irq-mb93091.c b/arch/frv/kernel/irq-mb93091.c index 369bc0a7443..ad753c1e9b8 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, struct pt_regs *regs) +static irqreturn_t fpga_interrupt(int irq, void *_mask)  {  	uint16_t imr, mask = (unsigned long) _mask; @@ -95,7 +95,7 @@ static irqreturn_t fpga_interrupt(int irq, void *_mask, struct pt_regs *regs)  		irq = 31 - irq;  		mask &= ~(1 << irq); -		generic_handle_irq(IRQ_BASE_FPGA + irq, regs); +		generic_handle_irq(IRQ_BASE_FPGA + irq);  	}  	return IRQ_HANDLED; diff --git a/arch/frv/kernel/irq-mb93093.c b/arch/frv/kernel/irq-mb93093.c index a43a2215895..e0983f6926e 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, struct pt_regs *regs) +static irqreturn_t fpga_interrupt(int irq, void *_mask)  {  	uint16_t imr, mask = (unsigned long) _mask; @@ -94,7 +94,7 @@ static irqreturn_t fpga_interrupt(int irq, void *_mask, struct pt_regs *regs)  		irq = 31 - irq;  		mask &= ~(1 << irq); -		generic_irq_handle(IRQ_BASE_FPGA + irq, regs); +		generic_irq_handle(IRQ_BASE_FPGA + irq);  	}  	return IRQ_HANDLED; diff --git a/arch/frv/kernel/irq-mb93493.c b/arch/frv/kernel/irq-mb93493.c index 39c0188a349..c157eeff871 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, struct pt_regs *regs) +static irqreturn_t mb93493_interrupt(int irq, void *_piqsr)  {  	volatile void *piqsr = _piqsr;  	uint32_t iqsr; @@ -106,7 +106,7 @@ static irqreturn_t mb93493_interrupt(int irq, void *_piqsr, struct pt_regs *regs  		irq = 31 - irq;  		iqsr &= ~(1 << irq); -		generic_handle_irq(IRQ_BASE_MB93493 + irq, regs); +		generic_handle_irq(IRQ_BASE_MB93493 + irq);  	}  	return IRQ_HANDLED; diff --git a/arch/frv/kernel/irq.c b/arch/frv/kernel/irq.c index 5ac041c7c0a..87f360a4ea2 100644 --- a/arch/frv/kernel/irq.c +++ b/arch/frv/kernel/irq.c @@ -143,7 +143,7 @@ static struct irq_chip frv_cpu_pic = {  asmlinkage void do_IRQ(void)  {  	irq_enter(); -	generic_handle_irq(__get_IRL(), __frame); +	generic_handle_irq(__get_IRL());  	irq_exit();  } diff --git a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c index 44a9aebc4f5..ed588d73d7d 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, struct pt_regs *regs); +static irqreturn_t timer_interrupt(int irq, void *dummy);  static struct irqaction timer_irq  = {  	timer_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "timer", NULL, NULL @@ -55,7 +55,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, struct pt_regs * regs) +static irqreturn_t timer_interrupt(int irq, void *dummy)  {  	/* last time the cmos clock got updated */  	static long last_rtc_update = 0; @@ -70,8 +70,8 @@ static irqreturn_t timer_interrupt(int irq, void *dummy, struct pt_regs * regs)  	write_seqlock(&xtime_lock);  	do_timer(1); -	update_process_times(user_mode(regs)); -	profile_tick(CPU_PROFILING, regs); +	update_process_times(user_mode(get_irq_regs())); +	profile_tick(CPU_PROFILING);  	/*  	 * If we have an externally synchronized Linux clock, then update diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c index 90faae5c5d3..7d500da0e63 100644 --- a/arch/i386/kernel/apic.c +++ b/arch/i386/kernel/apic.c @@ -1193,11 +1193,11 @@ EXPORT_SYMBOL(switch_ipi_to_APIC_timer);   * value into /proc/profile.   */ -inline void smp_local_timer_interrupt(struct pt_regs * regs) +inline void smp_local_timer_interrupt(void)  { -	profile_tick(CPU_PROFILING, regs); +	profile_tick(CPU_PROFILING);  #ifdef CONFIG_SMP -	update_process_times(user_mode_vm(regs)); +	update_process_times(user_mode_vm(irq_regs));  #endif  	/* @@ -1223,6 +1223,7 @@ inline void smp_local_timer_interrupt(struct pt_regs * regs)  fastcall void smp_apic_timer_interrupt(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	int cpu = smp_processor_id();  	/* @@ -1241,12 +1242,13 @@ fastcall void smp_apic_timer_interrupt(struct pt_regs *regs)  	 * interrupt lock, which is the WrongThing (tm) to do.  	 */  	irq_enter(); -	smp_local_timer_interrupt(regs); +	smp_local_timer_interrupt();  	irq_exit(); +	set_irq_regs(old_regs);  }  #ifndef CONFIG_SMP -static void up_apic_timer_interrupt_call(struct pt_regs *regs) +static void up_apic_timer_interrupt_call(void)  {  	int cpu = smp_processor_id(); @@ -1255,11 +1257,11 @@ static void up_apic_timer_interrupt_call(struct pt_regs *regs)  	 */  	per_cpu(irq_stat, cpu).apic_timer_irqs++; -	smp_local_timer_interrupt(regs); +	smp_local_timer_interrupt();  }  #endif -void smp_send_timer_broadcast_ipi(struct pt_regs *regs) +void smp_send_timer_broadcast_ipi(void)  {  	cpumask_t mask; @@ -1272,7 +1274,7 @@ void smp_send_timer_broadcast_ipi(struct pt_regs *regs)  		 * We can directly call the apic timer interrupt handler  		 * in UP case. Minus all irq related functions  		 */ -		up_apic_timer_interrupt_call(regs); +		up_apic_timer_interrupt_call();  #endif  	}  } diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c index d07ed31f11e..d53eafb6daa 100644 --- a/arch/i386/kernel/i8259.c +++ b/arch/i386/kernel/i8259.c @@ -335,13 +335,13 @@ void init_8259A(int auto_eoi)   */ -static irqreturn_t math_error_irq(int cpl, void *dev_id, struct pt_regs *regs) +static irqreturn_t math_error_irq(int cpl, void *dev_id)  {  	extern void math_error(void __user *);  	outb(0,0xF0);  	if (ignore_fpu_irq || !boot_cpu_data.hard_math)  		return IRQ_NONE; -	math_error((void __user *)regs->eip); +	math_error((void __user *)get_irq_regs()->eip);  	return IRQ_HANDLED;  } diff --git a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c index 3dd2e180151..8cfc7dbec7b 100644 --- a/arch/i386/kernel/irq.c +++ b/arch/i386/kernel/irq.c @@ -53,6 +53,7 @@ static union irq_ctx *softirq_ctx[NR_CPUS] __read_mostly;   */  fastcall unsigned int do_IRQ(struct pt_regs *regs)  {	 +	struct pt_regs *old_regs;  	/* high bit used in ret_from_ code */  	int irq = ~regs->orig_eax;  	struct irq_desc *desc = irq_desc + irq; @@ -67,6 +68,7 @@ fastcall unsigned int do_IRQ(struct pt_regs *regs)  		BUG();  	} +	old_regs = set_irq_regs(regs);  	irq_enter();  #ifdef CONFIG_DEBUG_STACKOVERFLOW  	/* Debugging check for stack overflow: is there less than 1KB free? */ @@ -95,7 +97,7 @@ fastcall unsigned int do_IRQ(struct pt_regs *regs)  	 * current stack (which is the irq stack already after all)  	 */  	if (curctx != irqctx) { -		int arg1, arg2, arg3, ebx; +		int arg1, arg2, ebx;  		/* build the stack frame on the IRQ stack */  		isp = (u32*) ((char*)irqctx + sizeof(*irqctx)); @@ -114,17 +116,17 @@ fastcall unsigned int do_IRQ(struct pt_regs *regs)  			"       xchgl  %%ebx,%%esp      \n"  			"       call   *%%edi           \n"  			"       movl   %%ebx,%%esp      \n" -			: "=a" (arg1), "=d" (arg2), "=c" (arg3), "=b" (ebx) -			:  "0" (irq),   "1" (desc),  "2" (regs),  "3" (isp), +			: "=a" (arg1), "=d" (arg2), "=b" (ebx) +			:  "0" (irq),   "1" (desc),  "2" (isp),  			   "D" (desc->handle_irq)  			: "memory", "cc"  		);  	} else  #endif -		desc->handle_irq(irq, desc, regs); +		desc->handle_irq(irq, desc);  	irq_exit(); - +	set_irq_regs(old_regs);  	return 1;  } diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c index 1b080ab8a49..31e5c6573aa 100644 --- a/arch/i386/kernel/smp.c +++ b/arch/i386/kernel/smp.c @@ -321,6 +321,7 @@ static inline void leave_mm (unsigned long cpu)  fastcall void smp_invalidate_interrupt(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	unsigned long cpu;  	cpu = get_cpu(); @@ -351,6 +352,7 @@ fastcall void smp_invalidate_interrupt(struct pt_regs *regs)  	smp_mb__after_clear_bit();  out:  	put_cpu_no_resched(); +	set_irq_regs(old_regs);  }  static void flush_tlb_others(cpumask_t cpumask, struct mm_struct *mm, @@ -605,11 +607,14 @@ void smp_send_stop(void)   */  fastcall void smp_reschedule_interrupt(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	ack_APIC_irq(); +	set_irq_regs(old_regs);  }  fastcall void smp_call_function_interrupt(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	void (*func) (void *info) = call_data->func;  	void *info = call_data->info;  	int wait = call_data->wait; @@ -632,6 +637,7 @@ fastcall void smp_call_function_interrupt(struct pt_regs *regs)  		mb();  		atomic_inc(&call_data->finished);  	} +	set_irq_regs(old_regs);  }  /* diff --git a/arch/i386/kernel/time.c b/arch/i386/kernel/time.c index 58a2d558241..3f221f5eb47 100644 --- a/arch/i386/kernel/time.c +++ b/arch/i386/kernel/time.c @@ -161,7 +161,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, struct pt_regs *regs) +irqreturn_t timer_interrupt(int irq, void *dev_id)  {  	/*  	 * Here we are in the timer irq handler. We just have irqs locally @@ -188,7 +188,7 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	}  #endif -	do_timer_interrupt_hook(regs); +	do_timer_interrupt_hook();  	if (MCA_bus) { @@ -209,7 +209,7 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  #ifdef CONFIG_X86_LOCAL_APIC  	if (using_apic_timer) -		smp_send_timer_broadcast_ipi(regs); +		smp_send_timer_broadcast_ipi();  #endif  	return IRQ_HANDLED; diff --git a/arch/i386/kernel/time_hpet.c b/arch/i386/kernel/time_hpet.c index 6bf14a4e995..1a2a979cf6a 100644 --- a/arch/i386/kernel/time_hpet.c +++ b/arch/i386/kernel/time_hpet.c @@ -441,7 +441,7 @@ int hpet_rtc_dropped_irq(void)  	return 1;  } -irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id)  {  	struct rtc_time curr_time;  	unsigned long rtc_int_flag = 0; @@ -480,7 +480,7 @@ irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	}  	if (call_rtc_interrupt) {  		rtc_int_flag |= (RTC_IRQF | (RTC_NUM_INTS << 8)); -		rtc_interrupt(rtc_int_flag, dev_id, regs); +		rtc_interrupt(rtc_int_flag, dev_id);  	}  	return IRQ_HANDLED;  } diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c index 8355d8d87d1..cbcd61d6120 100644 --- a/arch/i386/kernel/vm86.c +++ b/arch/i386/kernel/vm86.c @@ -714,7 +714,7 @@ static int irqbits;  	| (1 << SIGUSR1) | (1 << SIGUSR2) | (1 << SIGIO)  | (1 << SIGURG) \  	| (1 << SIGUNUSED) ) -static irqreturn_t irq_handler(int intno, void *dev_id, struct pt_regs * regs) +static irqreturn_t irq_handler(int intno, void *dev_id)  {  	int irq_bit;  	unsigned long flags; diff --git a/arch/i386/mach-visws/visws_apic.c b/arch/i386/mach-visws/visws_apic.c index 5929f884d79..07097ed4889 100644 --- a/arch/i386/mach-visws/visws_apic.c +++ b/arch/i386/mach-visws/visws_apic.c @@ -191,7 +191,7 @@ static struct hw_interrupt_type 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, struct pt_regs * regs) +static irqreturn_t piix4_master_intr(int irq, void *dev_id)  {  	int realirq;  	irq_desc_t *desc; @@ -244,7 +244,7 @@ static irqreturn_t piix4_master_intr(int irq, void *dev_id, struct pt_regs * reg  	kstat_cpu(smp_processor_id()).irqs[realirq]++;  	if (likely(desc->action != NULL)) -		handle_IRQ_event(realirq, regs, desc->action); +		handle_IRQ_event(realirq, desc->action);  	if (!(desc->status & IRQ_DISABLED))  		enable_8259A_irq(realirq); diff --git a/arch/i386/mach-voyager/voyager_basic.c b/arch/i386/mach-voyager/voyager_basic.c index 80b7f2fc4f4..c639d30d8bd 100644 --- a/arch/i386/mach-voyager/voyager_basic.c +++ b/arch/i386/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, struct pt_regs *regs) +voyager_system_interrupt(int cpl, void *dev_id)  {  	printk("Voyager: detected system interrupt\n");  } diff --git a/arch/i386/mach-voyager/voyager_smp.c b/arch/i386/mach-voyager/voyager_smp.c index 856c73fcb7e..d42422fc4af 100644 --- a/arch/i386/mach-voyager/voyager_smp.c +++ b/arch/i386/mach-voyager/voyager_smp.c @@ -126,10 +126,10 @@ send_QIC_CPI(__u32 cpuset, __u8 cpi)  }  static inline void -wrapper_smp_local_timer_interrupt(struct pt_regs *regs) +wrapper_smp_local_timer_interrupt(void)  {  	irq_enter(); -	smp_local_timer_interrupt(regs); +	smp_local_timer_interrupt();  	irq_exit();  } @@ -786,7 +786,7 @@ fastcall void  smp_vic_sys_interrupt(struct pt_regs *regs)  {  	ack_CPI(VIC_SYS_INT); -	printk("Voyager SYSTEM INTERRUPT\n"); +	printk("Voyager SYSTEM INTERRUPT\n");	  }  /* Handle a voyager CMN_INT; These interrupts occur either because of @@ -1135,7 +1135,9 @@ EXPORT_SYMBOL(smp_call_function);  fastcall void   smp_apic_timer_interrupt(struct pt_regs *regs)  { -	wrapper_smp_local_timer_interrupt(regs); +	struct pt_regs *old_regs = set_irq_regs(regs); +	wrapper_smp_local_timer_interrupt(); +	set_irq_regs(old_regs);  }  /* All of the QUAD interrupt GATES */ @@ -1143,7 +1145,9 @@ fastcall void  smp_qic_timer_interrupt(struct pt_regs *regs)  {  	ack_QIC_CPI(QIC_TIMER_CPI); -	wrapper_smp_local_timer_interrupt(regs); +	struct pt_regs *old_regs = set_irq_regs(regs); +	wrapper_smp_local_timer_interrupt(void); +	set_irq_regs(old_regs);  }  fastcall void @@ -1177,6 +1181,7 @@ smp_qic_call_function_interrupt(struct pt_regs *regs)  fastcall void  smp_vic_cpi_interrupt(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	__u8 cpu = smp_processor_id();  	if(is_cpu_quad()) @@ -1185,7 +1190,7 @@ smp_vic_cpi_interrupt(struct pt_regs *regs)  		ack_VIC_CPI(VIC_CPI_LEVEL0);  	if(test_and_clear_bit(VIC_TIMER_CPI, &vic_cpi_mailbox[cpu])) -		wrapper_smp_local_timer_interrupt(regs); +		wrapper_smp_local_timer_interrupt();  	if(test_and_clear_bit(VIC_INVALIDATE_CPI, &vic_cpi_mailbox[cpu]))  		smp_invalidate_interrupt();  	if(test_and_clear_bit(VIC_RESCHEDULE_CPI, &vic_cpi_mailbox[cpu])) @@ -1194,6 +1199,7 @@ smp_vic_cpi_interrupt(struct pt_regs *regs)  		smp_enable_irq_interrupt();  	if(test_and_clear_bit(VIC_CALL_FUNCTION_CPI, &vic_cpi_mailbox[cpu]))  		smp_call_function_interrupt(); +	set_irq_regs(old_regs);  }  static void @@ -1266,8 +1272,10 @@ smp_send_stop(void)  void  smp_vic_timer_interrupt(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	send_CPI_allbutself(VIC_TIMER_CPI); -	smp_local_timer_interrupt(regs); +	smp_local_timer_interrupt(); +	set_irq_regs(old_regs);  }  /* local (per CPU) timer interrupt.  It does both profiling and @@ -1279,12 +1287,12 @@ smp_vic_timer_interrupt(struct pt_regs *regs)   * value into /proc/profile.   */  void -smp_local_timer_interrupt(struct pt_regs * regs) +smp_local_timer_interrupt(void)  {  	int cpu = smp_processor_id();  	long weight; -	profile_tick(CPU_PROFILING, regs); +	profile_tick(CPU_PROFILING);  	if (--per_cpu(prof_counter, cpu) <= 0) {  		/*  		 * The multiplier may have changed since the last time we got @@ -1302,7 +1310,7 @@ smp_local_timer_interrupt(struct pt_regs * regs)  						per_cpu(prof_counter, cpu);  		} -		update_process_times(user_mode_vm(regs)); +		update_process_times(user_mode_vm(irq_regs));  	}  	if( ((1<<cpu) & voyager_extended_vic_processors) == 0) diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index ab2d19c3661..7fd3ef9e064 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c @@ -138,6 +138,7 @@ void destroy_irq(unsigned int irq)  void  ia64_handle_irq (ia64_vector vector, struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	unsigned long saved_tpr;  #if IRQ_DEBUG @@ -183,7 +184,7 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs)  			ia64_setreg(_IA64_REG_CR_TPR, vector);  			ia64_srlz_d(); -			__do_IRQ(local_vector_to_irq(vector), regs); +			__do_IRQ(local_vector_to_irq(vector));  			/*  			 * Disable interrupts and send EOI: @@ -200,6 +201,7 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs)  	 * come through until ia64_eoi() has been done.  	 */  	irq_exit(); +	set_irq_regs(old_regs);  }  #ifdef CONFIG_HOTPLUG_CPU diff --git a/arch/ia64/kernel/machvec.c b/arch/ia64/kernel/machvec.c index d4a546aa504..9620822270a 100644 --- a/arch/ia64/kernel/machvec.c +++ b/arch/ia64/kernel/machvec.c @@ -60,7 +60,7 @@ machvec_setup (char **arg)  EXPORT_SYMBOL(machvec_setup);  void -machvec_timer_interrupt (int irq, void *dev_id, struct pt_regs *regs) +machvec_timer_interrupt (int irq, void *dev_id)  {  }  EXPORT_SYMBOL(machvec_timer_interrupt); diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 66323018325..7cfa63a98cb 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c @@ -499,7 +499,7 @@ int cpe_vector = -1;  int ia64_cpe_irq = -1;  static irqreturn_t -ia64_mca_cpe_int_handler (int cpe_irq, void *arg, struct pt_regs *ptregs) +ia64_mca_cpe_int_handler (int cpe_irq, void *arg)  {  	static unsigned long	cpe_history[CPE_HISTORY_LENGTH];  	static int		index; @@ -744,7 +744,7 @@ ia64_mca_wakeup_all(void)   *  Outputs :   None   */  static irqreturn_t -ia64_mca_rendez_int_handler(int rendez_irq, void *arg, struct pt_regs *regs) +ia64_mca_rendez_int_handler(int rendez_irq, void *arg)  {  	unsigned long flags;  	int cpu = smp_processor_id(); @@ -753,8 +753,8 @@ ia64_mca_rendez_int_handler(int rendez_irq, void *arg, struct pt_regs *regs)  	/* Mask all interrupts */  	local_irq_save(flags); -	if (notify_die(DIE_MCA_RENDZVOUS_ENTER, "MCA", regs, (long)&nd, 0, 0) -			== NOTIFY_STOP) +	if (notify_die(DIE_MCA_RENDZVOUS_ENTER, "MCA", get_irq_regs(), +		       (long)&nd, 0, 0) == NOTIFY_STOP)  		ia64_mca_spin(__FUNCTION__);  	ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_DONE; @@ -763,16 +763,16 @@ ia64_mca_rendez_int_handler(int rendez_irq, void *arg, struct pt_regs *regs)  	 */  	ia64_sal_mc_rendez(); -	if (notify_die(DIE_MCA_RENDZVOUS_PROCESS, "MCA", regs, (long)&nd, 0, 0) -			== NOTIFY_STOP) +	if (notify_die(DIE_MCA_RENDZVOUS_PROCESS, "MCA", get_irq_regs(), +		       (long)&nd, 0, 0) == NOTIFY_STOP)  		ia64_mca_spin(__FUNCTION__);  	/* Wait for the monarch cpu to exit. */  	while (monarch_cpu != -1)  	       cpu_relax();	/* spin until monarch leaves */ -	if (notify_die(DIE_MCA_RENDZVOUS_LEAVE, "MCA", regs, (long)&nd, 0, 0) -			== NOTIFY_STOP) +	if (notify_die(DIE_MCA_RENDZVOUS_LEAVE, "MCA", get_irq_regs(), +		       (long)&nd, 0, 0) == NOTIFY_STOP)  		ia64_mca_spin(__FUNCTION__);  	/* Enable all interrupts */ @@ -791,12 +791,11 @@ ia64_mca_rendez_int_handler(int rendez_irq, void *arg, struct pt_regs *regs)   *   *  Inputs  :   wakeup_irq  (Wakeup-interrupt bit)   *	arg		(Interrupt handler specific argument) - *	ptregs		(Exception frame at the time of the interrupt)   *  Outputs :   None   *   */  static irqreturn_t -ia64_mca_wakeup_int_handler(int wakeup_irq, void *arg, struct pt_regs *ptregs) +ia64_mca_wakeup_int_handler(int wakeup_irq, void *arg)  {  	return IRQ_HANDLED;  } @@ -1261,13 +1260,12 @@ static DECLARE_WORK(cmc_enable_work, ia64_mca_cmc_vector_enable_keventd, NULL);   * Inputs   *      interrupt number   *      client data arg ptr - *      saved registers ptr   *   * Outputs   *	None   */  static irqreturn_t -ia64_mca_cmc_int_handler(int cmc_irq, void *arg, struct pt_regs *ptregs) +ia64_mca_cmc_int_handler(int cmc_irq, void *arg)  {  	static unsigned long	cmc_history[CMC_HISTORY_LENGTH];  	static int		index; @@ -1336,12 +1334,11 @@ out:   * Inputs   *	interrupt number   *	client data arg ptr - *	saved registers ptr   * Outputs   * 	handled   */  static irqreturn_t -ia64_mca_cmc_int_caller(int cmc_irq, void *arg, struct pt_regs *ptregs) +ia64_mca_cmc_int_caller(int cmc_irq, void *arg)  {  	static int start_count = -1;  	unsigned int cpuid; @@ -1352,7 +1349,7 @@ ia64_mca_cmc_int_caller(int cmc_irq, void *arg, struct pt_regs *ptregs)  	if (start_count == -1)  		start_count = IA64_LOG_COUNT(SAL_INFO_TYPE_CMC); -	ia64_mca_cmc_int_handler(cmc_irq, arg, ptregs); +	ia64_mca_cmc_int_handler(cmc_irq, arg);  	for (++cpuid ; cpuid < NR_CPUS && !cpu_online(cpuid) ; cpuid++); @@ -1403,14 +1400,13 @@ ia64_mca_cmc_poll (unsigned long dummy)   * Inputs   *	interrupt number   *	client data arg ptr - *	saved registers ptr   * Outputs   * 	handled   */  #ifdef CONFIG_ACPI  static irqreturn_t -ia64_mca_cpe_int_caller(int cpe_irq, void *arg, struct pt_regs *ptregs) +ia64_mca_cpe_int_caller(int cpe_irq, void *arg)  {  	static int start_count = -1;  	static int poll_time = MIN_CPE_POLL_INTERVAL; @@ -1422,7 +1418,7 @@ ia64_mca_cpe_int_caller(int cpe_irq, void *arg, struct pt_regs *ptregs)  	if (start_count == -1)  		start_count = IA64_LOG_COUNT(SAL_INFO_TYPE_CPE); -	ia64_mca_cpe_int_handler(cpe_irq, arg, ptregs); +	ia64_mca_cpe_int_handler(cpe_irq, arg);  	for (++cpuid ; cpuid < NR_CPUS && !cpu_online(cpuid) ; cpuid++); diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 62e07f906e0..41169a9bc30 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c @@ -45,7 +45,7 @@ static struct time_interpolator itc_interpolator = {  };  static irqreturn_t -timer_interrupt (int irq, void *dev_id, struct pt_regs *regs) +timer_interrupt (int irq, void *dev_id)  {  	unsigned long new_itm; @@ -53,7 +53,7 @@ timer_interrupt (int irq, void *dev_id, struct pt_regs *regs)  		return IRQ_HANDLED;  	} -	platform_timer_interrupt(irq, dev_id, regs); +	platform_timer_interrupt(irq, dev_id);  	new_itm = local_cpu_data->itm_next; @@ -61,10 +61,10 @@ timer_interrupt (int irq, void *dev_id, struct pt_regs *regs)  		printk(KERN_ERR "Oops: timer tick before it's due (itc=%lx,itm=%lx)\n",  		       ia64_get_itc(), new_itm); -	profile_tick(CPU_PROFILING, regs); +	profile_tick(CPU_PROFILING);  	while (1) { -		update_process_times(user_mode(regs)); +		update_process_times(user_mode(get_irq_regs()));  		new_itm += local_cpu_data->itm_delta; diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c index c36b0f5affb..8a2cb4e691f 100644 --- a/arch/ia64/sn/pci/tioca_provider.c +++ b/arch/ia64/sn/pci/tioca_provider.c @@ -550,13 +550,12 @@ tioca_dma_map(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma_flags)   * tioca_error_intr_handler - SGI TIO CA error interrupt handler   * @irq: unused   * @arg: pointer to tioca_common struct for the given CA - * @pt: unused   *   * Handle a CA error interrupt.  Simply a wrapper around a SAL call which   * defers processing to the SGI prom.   */  static irqreturn_t -tioca_error_intr_handler(int irq, void *arg, struct pt_regs *pt) +tioca_error_intr_handler(int irq, 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 af7171adcd2..0e81f68aaf8 100644 --- a/arch/ia64/sn/pci/tioce_provider.c +++ b/arch/ia64/sn/pci/tioce_provider.c @@ -666,12 +666,11 @@ tioce_dma_consistent(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma   * tioce_error_intr_handler - SGI TIO CE error interrupt handler   * @irq: unused   * @arg: pointer to tioce_common struct for the given CE - * @pt: unused   *   * 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, struct pt_regs *pt) +tioce_error_intr_handler(int irq, void *arg)  {  	struct tioce_common *soft = arg;  	struct ia64_sal_retval ret_stuff; diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index d955aaefbb8..a00b0e7ab9b 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -55,13 +55,15 @@ unsigned long irq_hwmask[NR_IRQS];   */  asmlinkage unsigned int do_IRQ(unsigned int irq, struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	irq_enter();  	__DO_IRQ_SMTC_HOOK(); -	__do_IRQ(irq, regs); +	__do_IRQ(irq);  	irq_exit(); +	set_irq_regs(old_regs);  	return 1;  } diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index a8340802f2d..d349eb9e4ff 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c @@ -322,18 +322,18 @@ static long last_rtc_update;   * a broadcasted inter-processor interrupt which itself is triggered   * by the global timer interrupt.   */ -void local_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) +void local_timer_interrupt(int irq, void *dev_id)  {  	if (current->pid) -		profile_tick(CPU_PROFILING, regs); -	update_process_times(user_mode(regs)); +		profile_tick(CPU_PROFILING); +	update_process_times(user_mode(get_irq_regs()));  }  /*   * High-level timer interrupt service routines.  This function   * is set as irqaction->handler and is invoked through do_IRQ.   */ -irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t timer_interrupt(int irq, void *dev_id)  {  	unsigned long j;  	unsigned int count; @@ -419,23 +419,24 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	 * In SMP mode, local_timer_interrupt() is invoked by appropriate  	 * low-level local timer interrupt handler.  	 */ -	local_timer_interrupt(irq, dev_id, regs); +	local_timer_interrupt(irq, dev_id);  	return IRQ_HANDLED;  } -int null_perf_irq(struct pt_regs *regs) +int null_perf_irq(void)  {  	return 0;  } -int (*perf_irq)(struct pt_regs *regs) = null_perf_irq; +int (*perf_irq)(void) = null_perf_irq;  EXPORT_SYMBOL(null_perf_irq);  EXPORT_SYMBOL(perf_irq);  asmlinkage void ll_timer_interrupt(int irq, struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	int r2 = cpu_has_mips_r2;  	irq_enter(); @@ -448,27 +449,30 @@ asmlinkage void ll_timer_interrupt(int irq, struct pt_regs *regs)  	 * performance counter interrupt handler anyway.  	 */  	if (!r2 || (read_c0_cause() & (1 << 26))) -		if (perf_irq(regs)) +		if (perf_irq())  			goto out;  	/* we keep interrupt disabled all the time */  	if (!r2 || (read_c0_cause() & (1 << 30))) -		timer_interrupt(irq, NULL, regs); +		timer_interrupt(irq, NULL);  out:  	irq_exit(); +	set_irq_regs(old_regs);  }  asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	irq_enter();  	if (smp_processor_id() != 0)  		kstat_this_cpu.irqs[irq]++;  	/* we keep interrupt disabled all the time */ -	local_timer_interrupt(irq, NULL, regs); +	local_timer_interrupt(irq, NULL);  	irq_exit(); +	set_irq_regs(old_regs);  }  /* diff --git a/arch/mips/sgi-ip22/ip22-reset.c b/arch/mips/sgi-ip22/ip22-reset.c index 7a941ecff3b..66df5ac8f08 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, struct pt_regs *regs) +static irqreturn_t panel_int(int irq, void *dev_id)  {  	unsigned int buttons; diff --git a/arch/mips/sgi-ip22/ip22-time.c b/arch/mips/sgi-ip22/ip22-time.c index 0e061890f79..3462b0d98de 100644 --- a/arch/mips/sgi-ip22/ip22-time.c +++ b/arch/mips/sgi-ip22/ip22-time.c @@ -191,12 +191,14 @@ void indy_8254timer_irq(struct pt_regs *regs)  void indy_r4k_timer_interrupt(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	int irq = SGI_TIMER_IRQ;  	irq_enter();  	kstat_this_cpu.irqs[irq]++; -	timer_interrupt(irq, NULL, regs); +	timer_interrupt(irq, NULL);  	irq_exit(); +	set_irq_regs(old_regs);  }  void __init plat_timer_setup(struct irqaction *irq) diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index c3f58f2f9f5..5deaab3090b 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -187,6 +187,7 @@ void fixup_irqs(cpumask_t map)  void do_IRQ(struct pt_regs *regs)  { +	struct pt_regs *old_regs = set_irq_regs(regs);  	unsigned int irq;  #ifdef CONFIG_IRQSTACKS  	struct thread_info *curtp, *irqtp; @@ -230,18 +231,19 @@ void do_IRQ(struct pt_regs *regs)  				handler = &__do_IRQ;  			irqtp->task = curtp->task;  			irqtp->flags = 0; -			call_handle_irq(irq, desc, regs, irqtp, handler); +			call_handle_irq(irq, desc, irqtp, handler);  			irqtp->task = NULL;  			if (irqtp->flags)  				set_bits(irqtp->flags, &curtp->flags);  		} else  #endif -			generic_handle_irq(irq, regs); +			generic_handle_irq(irq);  	} else if (irq != NO_IRQ_IGNORE)  		/* That's not SMP safe ... but who cares ? */  		ppc_spurious_interrupts++;          irq_exit(); +	set_irq_regs(old_regs);  #ifdef CONFIG_PPC_ISERIES  	if (get_lppaca()->int_dword.fields.decr_int) { diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S index 41521b30c3c..c70e20708a1 100644 --- a/arch/powerpc/kernel/misc_64.S +++ b/arch/powerpc/kernel/misc_64.S @@ -52,12 +52,12 @@ _GLOBAL(call_do_softirq)  	blr  _GLOBAL(call_handle_irq) -	ld	r8,0(r7) +	ld	r8,0(r6)  	mflr	r0  	std	r0,16(r1)  	mtctr	r8 -	stdu	r1,THREAD_SIZE-112(r6) -	mr	r1,r6 +	stdu	r1,THREAD_SIZE-112(r5) +	mr	r1,r5  	bctrl  	ld	r1,0(r1)  	ld	r0,16(r1) diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 6a9bc9ce54e..35c6309bdb7 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c @@ -115,7 +115,7 @@ void __devinit smp_generic_kick_cpu(int nr)  }  #endif -void smp_message_recv(int msg, struct pt_regs *regs) +void smp_message_recv(int msg)  {  	switch(msg) {  	case PPC_MSG_CALL_FUNCTION: @@ -127,11 +127,11 @@ void smp_message_recv(int msg, struct pt_regs *regs)  		break;  	case PPC_MSG_DEBUGGER_BREAK:  		if (crash_ipi_function_ptr) { -			crash_ipi_function_ptr(regs); +			crash_ipi_function_ptr(get_irq_regs());  			break;  		}  #ifdef CONFIG_DEBUGGER -		debugger_ipi(regs); +		debugger_ipi(get_irq_regs());  		break;  #endif /* CONFIG_DEBUGGER */  		/* FALLTHROUGH */ diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 85b9244a098..d210d0a5006 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c @@ -51,6 +51,7 @@  #include <linux/rtc.h>  #include <linux/jiffies.h>  #include <linux/posix-timers.h> +#include <linux/irq.h>  #include <asm/io.h>  #include <asm/processor.h> @@ -643,6 +644,7 @@ static void iSeries_tb_recal(void)   */  void timer_interrupt(struct pt_regs * regs)  { +	struct pt_regs *old_regs;  	int next_dec;  	int cpu = smp_processor_id();  	unsigned long ticks; @@ -653,9 +655,10 @@ void timer_interrupt(struct pt_regs * regs)  		do_IRQ(regs);  #endif +	old_regs = set_irq_regs(regs);  	irq_enter(); -	profile_tick(CPU_PROFILING, regs); +	profile_tick(CPU_PROFILING);  	calculate_steal_time();  #ifdef CONFIG_PPC_ISERIES @@ -715,6 +718,7 @@ void timer_interrupt(struct pt_regs * regs)  #endif  	irq_exit(); +	set_irq_regs(old_regs);  }  void wakeup_decrementer(void) diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c index 8533f13a5ed..434fb934dd2 100644 --- a/arch/powerpc/platforms/cell/interrupt.c +++ b/arch/powerpc/platforms/cell/interrupt.c @@ -190,11 +190,11 @@ 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, struct pt_regs *regs) +static irqreturn_t iic_ipi_action(int irq, void *dev_id)  {  	int ipi = (int)(long)dev_id; -	smp_message_recv(ipi, regs); +	smp_message_recv(ipi);  	return IRQ_HANDLED;  } diff --git a/arch/powerpc/platforms/cell/spider-pic.c b/arch/powerpc/platforms/cell/spider-pic.c index b0e95d594c5..21a9ebd4978 100644 --- a/arch/powerpc/platforms/cell/spider-pic.c +++ b/arch/powerpc/platforms/cell/spider-pic.c @@ -213,8 +213,7 @@ static struct irq_host_ops spider_host_ops = {  	.xlate = spider_host_xlate,  }; -static void spider_irq_cascade(unsigned int irq, struct irq_desc *desc, -			       struct pt_regs *regs) +static void spider_irq_cascade(unsigned int irq, struct irq_desc *desc)  {  	struct spider_pic *pic = desc->handler_data;  	unsigned int cs, virq; @@ -225,7 +224,7 @@ static void spider_irq_cascade(unsigned int irq, struct irq_desc *desc,  	else  		virq = irq_linear_revmap(pic->host, cs);  	if (virq != NO_IRQ) -		generic_handle_irq(virq, regs); +		generic_handle_irq(virq);  	desc->chip->eoi(irq);  } diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c index c2c7cf75dd5..bfc4829162f 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, struct pt_regs *regs) +static irqreturn_t kw_i2c_irq(int 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 ee3b223ab17..5c6c15c5f9a 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, struct pt_regs *regs) +static irqreturn_t macio_gpio_irq(int irq, void *data)  {  	pmf_do_irq(data); diff --git a/arch/powerpc/platforms/powermac/pic.c b/arch/powerpc/platforms/powermac/pic.c index 39f7ddb554e..e93a115961a 100644 --- a/arch/powerpc/platforms/powermac/pic.c +++ b/arch/powerpc/platforms/powermac/pic.c @@ -440,14 +440,13 @@ static void __init pmac_pic_probe_oldstyle(void)  }  #endif /* CONFIG_PPC32 */ -static void pmac_u3_cascade(unsigned int irq, struct irq_desc *desc, -			    struct pt_regs *regs) +static void pmac_u3_cascade(unsigned int irq, struct irq_desc *desc)  {  	struct mpic *mpic = desc->handler_data; -	unsigned int cascade_irq = mpic_get_one_irq(mpic, regs); +	unsigned int cascade_irq = mpic_get_one_irq(mpic, get_irq_regs());  	if (cascade_irq != NO_IRQ) -		generic_handle_irq(cascade_irq, regs); +		generic_handle_irq(cascade_irq);  	desc->chip->eoi(irq);  } diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index 311ed1993fc..b1d3d161249 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c @@ -65,16 +65,14 @@ 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, -					struct pt_regs * regs); -static irqreturn_t ras_error_interrupt(int irq, void *dev_id, -					struct pt_regs * regs); +static irqreturn_t ras_epow_interrupt(int irq, void *dev_id); +static irqreturn_t ras_error_interrupt(int irq, void *dev_id);  /* #define DEBUG */  static void request_ras_irqs(struct device_node *np, -			irqreturn_t (*handler)(int, void *, struct pt_regs *), +			irq_handler_t handler,  			const char *name)  {  	int i, index, count = 0; @@ -166,8 +164,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, struct pt_regs * regs) +static irqreturn_t ras_epow_interrupt(int irq, void *dev_id)  {  	int status = 0xdeadbeef;  	int state = 0; @@ -210,8 +207,7 @@ ras_epow_interrupt(int irq, void *dev_id, struct pt_regs * regs)   * 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, struct pt_regs * regs) +static irqreturn_t ras_error_interrupt(int irq, void *dev_id)  {  	struct rtas_error_log *rtas_elog;  	int status = 0xdeadbeef; diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index f82b13e531a..ad9aec2c6fe 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c @@ -121,12 +121,11 @@ static void __init fwnmi_init(void)  		fwnmi_active = 1;  } -void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc, -			  struct pt_regs *regs) +void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc)  { -	unsigned int cascade_irq = i8259_irq(regs); +	unsigned int cascade_irq = i8259_irq(get_irq_regs());  	if (cascade_irq != NO_IRQ) -		generic_handle_irq(cascade_irq, regs); +		generic_handle_irq(cascade_irq);  	desc->chip->eoi(irq);  } diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index 253972e5479..f6bd2f28515 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c @@ -324,7 +324,7 @@ static unsigned int xics_get_irq_lpar(struct pt_regs *regs)  #ifdef CONFIG_SMP -static irqreturn_t xics_ipi_dispatch(int cpu, struct pt_regs *regs) +static irqreturn_t xics_ipi_dispatch(int cpu)  {  	WARN_ON(cpu_is_offline(cpu)); @@ -332,47 +332,47 @@ static irqreturn_t xics_ipi_dispatch(int cpu, struct pt_regs *regs)  		if (test_and_clear_bit(PPC_MSG_CALL_FUNCTION,  				       &xics_ipi_message[cpu].value)) {  			mb(); -			smp_message_recv(PPC_MSG_CALL_FUNCTION, regs); +			smp_message_recv(PPC_MSG_CALL_FUNCTION);  		}  		if (test_and_clear_bit(PPC_MSG_RESCHEDULE,  				       &xics_ipi_message[cpu].value)) {  			mb(); -			smp_message_recv(PPC_MSG_RESCHEDULE, regs); +			smp_message_recv(PPC_MSG_RESCHEDULE);  		}  #if 0  		if (test_and_clear_bit(PPC_MSG_MIGRATE_TASK,  				       &xics_ipi_message[cpu].value)) {  			mb(); -			smp_message_recv(PPC_MSG_MIGRATE_TASK, regs); +			smp_message_recv(PPC_MSG_MIGRATE_TASK);  		}  #endif  #if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)  		if (test_and_clear_bit(PPC_MSG_DEBUGGER_BREAK,  				       &xics_ipi_message[cpu].value)) {  			mb(); -			smp_message_recv(PPC_MSG_DEBUGGER_BREAK, regs); +			smp_message_recv(PPC_MSG_DEBUGGER_BREAK);  		}  #endif  	}  	return IRQ_HANDLED;  } -static irqreturn_t xics_ipi_action_direct(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t xics_ipi_action_direct(int irq, void *dev_id)  {  	int cpu = smp_processor_id();  	direct_qirr_info(cpu, 0xff); -	return xics_ipi_dispatch(cpu, regs); +	return xics_ipi_dispatch(cpu);  } -static irqreturn_t xics_ipi_action_lpar(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t xics_ipi_action_lpar(int irq, void *dev_id)  {  	int cpu = smp_processor_id();  	lpar_qirr_info(cpu, 0xff); -	return xics_ipi_dispatch(cpu, regs); +	return xics_ipi_dispatch(cpu);  }  void xics_cause_IPI(int cpu) diff --git a/arch/powerpc/platforms/pseries/xics.h b/arch/powerpc/platforms/pseries/xics.h index 6ee1055b0ff..db0ec3ba3ae 100644 --- a/arch/powerpc/platforms/pseries/xics.h +++ b/arch/powerpc/platforms/pseries/xics.h @@ -31,7 +31,6 @@ struct xics_ipi_struct {  extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned;  struct irq_desc; -extern void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc, -				 struct pt_regs *regs); +extern void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc);  #endif /* _POWERPC_KERNEL_XICS_H */ diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 3ee03a9a98f..195215560fd 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@ -489,9 +489,9 @@ static inline void mpic_eoi(struct mpic *mpic)  }  #ifdef CONFIG_SMP -static irqreturn_t mpic_ipi_action(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mpic_ipi_action(int irq, void *dev_id)  { -	smp_message_recv(mpic_irq_to_hw(irq) - MPIC_VEC_IPI_0, regs); +	smp_message_recv(mpic_irq_to_hw(irq) - MPIC_VEC_IPI_0);  	return IRQ_HANDLED;  }  #endif /* CONFIG_SMP */ diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 708236f3474..5a854f36383 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -21,6 +21,7 @@  #include <linux/module.h>  #include <linux/sysrq.h>  #include <linux/interrupt.h> +#include <linux/irq.h>  #include <asm/ptrace.h>  #include <asm/string.h> @@ -2577,12 +2578,11 @@ void xmon_init(int enable)  }  #ifdef CONFIG_MAGIC_SYSRQ -static void sysrq_handle_xmon(int key, struct pt_regs *pt_regs, -			      struct tty_struct *tty)  +static void sysrq_handle_xmon(int key, struct tty_struct *tty)   {  	/* ensure xmon is enabled */  	xmon_init(1); -	debugger(pt_regs); +	debugger(get_irq_regs());  }  static struct sysrq_key_op sysrq_xmon_op =  diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c index 6472e321cad..af4a1c71a80 100644 --- a/arch/x86_64/kernel/apic.c +++ b/arch/x86_64/kernel/apic.c @@ -885,14 +885,14 @@ void setup_APIC_extened_lvt(unsigned char lvt_off, unsigned char vector,   * value into /proc/profile.   */ -void smp_local_timer_interrupt(struct pt_regs *regs) +void smp_local_timer_interrupt(void)  { -	profile_tick(CPU_PROFILING, regs); +	profile_tick(CPU_PROFILING);  #ifdef CONFIG_SMP -	update_process_times(user_mode(regs)); +	update_process_times(user_mode(get_irq_regs()));  #endif  	if (apic_runs_main_timer > 1 && smp_processor_id() == boot_cpu_id) -		main_timer_handler(regs); +		main_timer_handler();  	/*  	 * We take the 'long' return path, and there every subsystem  	 * grabs the appropriate locks (kernel lock/ irq lock). @@ -913,7 +913,7 @@ void smp_local_timer_interrupt(struct pt_regs *regs)   * [ if a single-CPU system runs an SMP kernel then we call the local   *   interrupt as well. Thus we cannot inline the local irq ... ]   */ -void smp_apic_timer_interrupt(struct pt_regs *regs) +void smp_apic_timer_interrupt(void)  {  	/*  	 * the NMI deadlock-detector uses this. @@ -932,7 +932,7 @@ void smp_apic_timer_interrupt(struct pt_regs *regs)  	 */  	exit_idle();  	irq_enter(); -	smp_local_timer_interrupt(regs); +	smp_local_timer_interrupt();  	irq_exit();  } diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c index 506f27c85ca..b8a407fcd5d 100644 --- a/arch/x86_64/kernel/irq.c +++ b/arch/x86_64/kernel/irq.c @@ -103,7 +103,9 @@ skip:   * handlers).   */  asmlinkage unsigned int do_IRQ(struct pt_regs *regs) -{	 +{ +	struct pt_regs *old_regs = set_irq_regs(regs); +  	/* high bit used in ret_from_ code  */  	unsigned vector = ~regs->orig_rax;  	unsigned irq; @@ -121,9 +123,10 @@ asmlinkage unsigned int do_IRQ(struct pt_regs *regs)  #ifdef CONFIG_DEBUG_STACKOVERFLOW  	stack_overflow_check(regs);  #endif -	generic_handle_irq(irq, regs); +	generic_handle_irq(irq);  	irq_exit(); +	set_irq_regs(old_regs);  	return 1;  } diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index 557e92af7be..1ba5a442ac3 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c @@ -302,20 +302,20 @@ unsigned long long monotonic_clock(void)  }  EXPORT_SYMBOL(monotonic_clock); -static noinline void handle_lost_ticks(int lost, struct pt_regs *regs) +static noinline void handle_lost_ticks(int lost)  {  	static long lost_count;  	static int warned;  	if (report_lost_ticks) {  		printk(KERN_WARNING "time.c: Lost %d timer tick(s)! ", lost); -		print_symbol("rip %s)\n", regs->rip); +		print_symbol("rip %s)\n", get_irq_regs()->rip);  	}  	if (lost_count == 1000 && !warned) {  		printk(KERN_WARNING "warning: many lost ticks.\n"  		       KERN_WARNING "Your time source seems to be instable or "  		   		"some driver is hogging interupts\n"); -		print_symbol("rip %s\n", regs->rip); +		print_symbol("rip %s\n", get_irq_regs()->rip);  		if (vxtime.mode == VXTIME_TSC && vxtime.hpet_address) {  			printk(KERN_WARNING "Falling back to HPET\n");  			if (hpet_use_timer) @@ -339,7 +339,7 @@ static noinline void handle_lost_ticks(int lost, struct pt_regs *regs)  #endif  } -void main_timer_handler(struct pt_regs *regs) +void main_timer_handler(void)  {  	static unsigned long rtc_update = 0;  	unsigned long tsc; @@ -411,7 +411,7 @@ void main_timer_handler(struct pt_regs *regs)  	}  	if (lost > 0) -		handle_lost_ticks(lost, regs); +		handle_lost_ticks(lost);  	else  		lost = 0; @@ -421,7 +421,7 @@ void main_timer_handler(struct pt_regs *regs)  	do_timer(lost + 1);  #ifndef CONFIG_SMP -	update_process_times(user_mode(regs)); +	update_process_times(user_mode(get_irq_regs()));  #endif  /* @@ -431,7 +431,7 @@ void main_timer_handler(struct pt_regs *regs)   */  	if (!using_apic_timer) -		smp_local_timer_interrupt(regs); +		smp_local_timer_interrupt();  /*   * If we have an externally synchronized Linux clock, then update CMOS clock @@ -450,11 +450,11 @@ void main_timer_handler(struct pt_regs *regs)  	write_sequnlock(&xtime_lock);  } -static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t timer_interrupt(int irq, void *dev_id)  {  	if (apic_runs_main_timer > 1)  		return IRQ_HANDLED; -	main_timer_handler(regs); +	main_timer_handler();  	if (using_apic_timer)  		smp_send_timer_broadcast_ipi();  	return IRQ_HANDLED; @@ -1337,7 +1337,7 @@ irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	}  	if (call_rtc_interrupt) {  		rtc_int_flag |= (RTC_IRQF | (RTC_NUM_INTS << 8)); -		rtc_interrupt(rtc_int_flag, dev_id, regs); +		rtc_interrupt(rtc_int_flag, dev_id);  	}  	return IRQ_HANDLED;  } diff --git a/drivers/acorn/block/mfmhd.c b/drivers/acorn/block/mfmhd.c index 1bace29f4b6..7fde8f4daeb 100644 --- a/drivers/acorn/block/mfmhd.c +++ b/drivers/acorn/block/mfmhd.c @@ -938,7 +938,7 @@ static void do_mfm_request(request_queue_t *q)  	mfm_request();  } -static void mfm_interrupt_handler(int unused, void *dev_id, struct pt_regs *regs) +static void mfm_interrupt_handler(int unused, void *dev_id)  {  	void (*handler) (void) = do_mfm; diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 20beea778ea..068fe4f100b 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -237,7 +237,7 @@ acpi_os_table_override(struct acpi_table_header * existing_table,  	return AE_OK;  } -static irqreturn_t acpi_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t acpi_irq(int 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 54e1f38ce30..25929123fff 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -204,7 +204,7 @@ static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg);  static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);  static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);  static unsigned int ahci_qc_issue(struct ata_queued_cmd *qc); -static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs *regs); +static irqreturn_t ahci_interrupt (int irq, void *dev_instance);  static void ahci_irq_clear(struct ata_port *ap);  static int ahci_port_start(struct ata_port *ap);  static void ahci_port_stop(struct ata_port *ap); @@ -1059,7 +1059,7 @@ static void ahci_irq_clear(struct ata_port *ap)  	/* TODO */  } -static irqreturn_t ahci_interrupt(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t ahci_interrupt(int irq, 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 dce65651d85..77138a39eb0 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -4857,7 +4857,6 @@ idle_irq:   *	ata_interrupt - Default ATA host interrupt handler   *	@irq: irq line (unused)   *	@dev_instance: pointer to our ata_host information structure - *	@regs: unused   *   *	Default interrupt handler for PCI IDE devices.  Calls   *	ata_host_intr() for each port that is not disabled. @@ -4869,7 +4868,7 @@ idle_irq:   *	IRQ_NONE or IRQ_HANDLED.   */ -irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs) +irqreturn_t ata_interrupt (int irq, 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 81f3d219e70..9021e34d209 100644 --- a/drivers/ata/pdc_adma.c +++ b/drivers/ata/pdc_adma.c @@ -124,8 +124,7 @@ struct adma_port_priv {  static int adma_ata_init_one (struct pci_dev *pdev,  				const struct pci_device_id *ent); -static irqreturn_t adma_intr (int irq, void *dev_instance, -				struct pt_regs *regs); +static irqreturn_t adma_intr (int irq, void *dev_instance);  static int adma_port_start(struct ata_port *ap);  static void adma_host_stop(struct ata_host *host);  static void adma_port_stop(struct ata_port *ap); @@ -508,7 +507,7 @@ static inline unsigned int adma_intr_mmio(struct ata_host *host)  	return handled;  } -static irqreturn_t adma_intr(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t adma_intr(int irq, void *dev_instance)  {  	struct ata_host *host = dev_instance;  	unsigned int handled = 0; diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index e6aa1a86d5c..1b8e0eb9e03 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -348,8 +348,7 @@ static void mv_port_stop(struct ata_port *ap);  static void mv_qc_prep(struct ata_queued_cmd *qc);  static void mv_qc_prep_iie(struct ata_queued_cmd *qc);  static unsigned int mv_qc_issue(struct ata_queued_cmd *qc); -static irqreturn_t mv_interrupt(int irq, void *dev_instance, -				struct pt_regs *regs); +static irqreturn_t mv_interrupt(int irq, void *dev_instance);  static void mv_eng_timeout(struct ata_port *ap);  static int mv_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); @@ -1448,8 +1447,7 @@ static void mv_host_intr(struct ata_host *host, u32 relevant, unsigned int hc)   *      This routine holds the host lock while processing pending   *      interrupts.   */ -static irqreturn_t mv_interrupt(int irq, void *dev_instance, -				struct pt_regs *regs) +static irqreturn_t mv_interrupt(int irq, 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 d09d20a1779..323b6071080 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c @@ -82,12 +82,9 @@ enum {  static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);  static void nv_ck804_host_stop(struct ata_host *host); -static irqreturn_t nv_generic_interrupt(int irq, void *dev_instance, -					struct pt_regs *regs); -static irqreturn_t nv_nf2_interrupt(int irq, void *dev_instance, -				    struct pt_regs *regs); -static irqreturn_t nv_ck804_interrupt(int irq, void *dev_instance, -				      struct pt_regs *regs); +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 u32 nv_scr_read (struct ata_port *ap, unsigned int sc_reg);  static void nv_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); @@ -276,8 +273,7 @@ MODULE_LICENSE("GPL");  MODULE_DEVICE_TABLE(pci, nv_pci_tbl);  MODULE_VERSION(DRV_VERSION); -static irqreturn_t nv_generic_interrupt(int irq, void *dev_instance, -					struct pt_regs *regs) +static irqreturn_t nv_generic_interrupt(int irq, void *dev_instance)  {  	struct ata_host *host = dev_instance;  	unsigned int i; @@ -357,8 +353,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, -				    struct pt_regs *regs) +static irqreturn_t nv_nf2_interrupt(int irq, void *dev_instance)  {  	struct ata_host *host = dev_instance;  	u8 irq_stat; @@ -372,8 +367,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, -				      struct pt_regs *regs) +static irqreturn_t nv_ck804_interrupt(int irq, void *dev_instance)  {  	struct ata_host *host = dev_instance;  	u8 irq_stat; diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c index 15c9437710f..d636ede064a 100644 --- a/drivers/ata/sata_promise.c +++ b/drivers/ata/sata_promise.c @@ -93,7 +93,7 @@ struct pdc_host_priv {  static u32 pdc_sata_scr_read (struct ata_port *ap, unsigned int sc_reg);  static void pdc_sata_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);  static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); -static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *regs); +static irqreturn_t pdc_interrupt (int irq, void *dev_instance);  static void pdc_eng_timeout(struct ata_port *ap);  static int pdc_port_start(struct ata_port *ap);  static void pdc_port_stop(struct ata_port *ap); @@ -498,7 +498,7 @@ static void pdc_irq_clear(struct ata_port *ap)  	readl(mmio + PDC_INT_SEQMASK);  } -static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t pdc_interrupt (int irq, 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 7f6cc3c07de..710909df4ea 100644 --- a/drivers/ata/sata_qstor.c +++ b/drivers/ata/sata_qstor.c @@ -114,7 +114,7 @@ struct qs_port_priv {  static u32 qs_scr_read (struct ata_port *ap, unsigned int sc_reg);  static void qs_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);  static int qs_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); -static irqreturn_t qs_intr (int irq, void *dev_instance, struct pt_regs *regs); +static irqreturn_t qs_intr (int irq, void *dev_instance);  static int qs_port_start(struct ata_port *ap);  static void qs_host_stop(struct ata_host *host);  static void qs_port_stop(struct ata_port *ap); @@ -454,7 +454,7 @@ static inline unsigned int qs_intr_mmio(struct ata_host *host)  	return handled;  } -static irqreturn_t qs_intr(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t qs_intr(int irq, 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 3d9fa1cc834..ae5edb80ea9 100644 --- a/drivers/ata/sata_sil.c +++ b/drivers/ata/sata_sil.c @@ -116,8 +116,7 @@ static void sil_dev_config(struct ata_port *ap, struct ata_device *dev);  static u32 sil_scr_read (struct ata_port *ap, unsigned int sc_reg);  static void sil_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);  static void sil_post_set_mode (struct ata_port *ap); -static irqreturn_t sil_interrupt(int irq, void *dev_instance, -				 struct pt_regs *regs); +static irqreturn_t sil_interrupt(int irq, void *dev_instance);  static void sil_freeze(struct ata_port *ap);  static void sil_thaw(struct ata_port *ap); @@ -437,8 +436,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, -				 struct pt_regs *regs) +static irqreturn_t sil_interrupt(int irq, void *dev_instance)  {  	struct ata_host *host = dev_instance;  	void __iomem *mmio_base = host->mmio_base; diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index a951f40c2f2..169e200a6a7 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c @@ -330,7 +330,7 @@ static void sil24_tf_read(struct ata_port *ap, struct ata_taskfile *tf);  static void sil24_qc_prep(struct ata_queued_cmd *qc);  static unsigned int sil24_qc_issue(struct ata_queued_cmd *qc);  static void sil24_irq_clear(struct ata_port *ap); -static irqreturn_t sil24_interrupt(int irq, void *dev_instance, struct pt_regs *regs); +static irqreturn_t sil24_interrupt(int irq, void *dev_instance);  static void sil24_freeze(struct ata_port *ap);  static void sil24_thaw(struct ata_port *ap);  static void sil24_error_handler(struct ata_port *ap); @@ -870,7 +870,7 @@ static inline void sil24_host_intr(struct ata_port *ap)  			slot_stat, ap->active_tag, ap->sactive);  } -static irqreturn_t sil24_interrupt(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t sil24_interrupt(int irq, void *dev_instance)  {  	struct ata_host *host = dev_instance;  	struct sil24_host_priv *hpriv = host->private_data; diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c index 8c74f2ff434..ae7992de4b0 100644 --- a/drivers/ata/sata_sx4.c +++ b/drivers/ata/sata_sx4.c @@ -152,7 +152,7 @@ struct pdc_host_priv {  static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); -static irqreturn_t pdc20621_interrupt (int irq, void *dev_instance, struct pt_regs *regs); +static irqreturn_t pdc20621_interrupt (int irq, void *dev_instance);  static void pdc_eng_timeout(struct ata_port *ap);  static void pdc_20621_phy_reset (struct ata_port *ap);  static int pdc_port_start(struct ata_port *ap); @@ -788,7 +788,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, struct pt_regs *regs) +static irqreturn_t pdc20621_interrupt (int irq, 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 273d88fcf98..e654b990b90 100644 --- a/drivers/ata/sata_vsc.c +++ b/drivers/ata/sata_vsc.c @@ -203,8 +203,7 @@ static void vsc_sata_tf_read(struct ata_port *ap, struct ata_taskfile *tf)   *   * Read the interrupt register and process for the devices that have them pending.   */ -static irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance, -				       struct pt_regs *regs) +static irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance)  {  	struct ata_host *host = dev_instance;  	unsigned int i; diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c index da599e6e9d3..8ff5c4e5082 100644 --- a/drivers/atm/ambassador.c +++ b/drivers/atm/ambassador.c @@ -861,10 +861,8 @@ static inline void interrupts_off (amb_dev * dev) {  /********** interrupt handling **********/ -static irqreturn_t interrupt_handler(int irq, void *dev_id, -					struct pt_regs *pt_regs) { +static irqreturn_t interrupt_handler(int irq, void *dev_id) {    amb_dev * dev = (amb_dev *) dev_id; -  (void) pt_regs;    PRINTD (DBG_IRQ|DBG_FLOW, "interrupt_handler: %p", dev_id); diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c index df359a6c14f..bc1b13c8f5d 100644 --- a/drivers/atm/eni.c +++ b/drivers/atm/eni.c @@ -1488,7 +1488,7 @@ static void bug_int(struct atm_dev *dev,unsigned long reason)  } -static irqreturn_t eni_int(int irq,void *dev_id,struct pt_regs *regs) +static irqreturn_t eni_int(int irq,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 5f25e5efefc..40ab9b65fae 100644 --- a/drivers/atm/firestream.c +++ b/drivers/atm/firestream.c @@ -1546,7 +1546,7 @@ static void __devexit free_freepool (struct fs_dev *dev, struct freepool *fp) -static irqreturn_t fs_irq (int irq, void *dev_id,  struct pt_regs * pt_regs)  +static irqreturn_t fs_irq (int irq, void *dev_id)   {  	int i;  	u32 status; diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c index 98622130de5..3a7b21ff30a 100644 --- a/drivers/atm/fore200e.c +++ b/drivers/atm/fore200e.c @@ -1328,7 +1328,7 @@ fore200e_irq(struct fore200e* fore200e)  static irqreturn_t -fore200e_interrupt(int irq, void* dev, struct pt_regs* regs) +fore200e_interrupt(int irq, void* dev)  {      struct fore200e* fore200e = FORE200E_DEV((struct atm_dev*)dev); diff --git a/drivers/atm/he.c b/drivers/atm/he.c index b22a9142b24..c7314a79da0 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, struct pt_regs *regs); +static irqreturn_t he_irq_handler(int irq, 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, struct pt_regs *regs) +he_irq_handler(int irq, void *dev_id)  {  	unsigned long flags;  	struct he_dev *he_dev = (struct he_dev * )dev_id; diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.c index 209dba1c70d..33e9ee47392 100644 --- a/drivers/atm/horizon.c +++ b/drivers/atm/horizon.c @@ -1382,12 +1382,10 @@ static inline void rx_data_av_handler (hrz_dev * dev) {  /********** interrupt handler **********/ -static irqreturn_t interrupt_handler(int irq, void *dev_id, -					struct pt_regs *pt_regs) { +static irqreturn_t interrupt_handler(int irq, void *dev_id) {    hrz_dev * dev = (hrz_dev *) dev_id;    u32 int_source;    unsigned int irq_ok; -  (void) pt_regs;    PRINTD (DBG_FLOW, "interrupt_handler: %p", dev_id); diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c index 7487f0ad68e..87b17c33b3f 100644 --- a/drivers/atm/idt77252.c +++ b/drivers/atm/idt77252.c @@ -2774,7 +2774,7 @@ idt77252_collect_stat(struct idt77252_dev *card)  }  static irqreturn_t -idt77252_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) +idt77252_interrupt(int irq, void *dev_id)  {  	struct idt77252_dev *card = dev_id;  	u32 stat; diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c index f20b0b2c06c..9ed1c60048f 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, struct pt_regs *regs)   +static irqreturn_t ia_int(int irq, void *dev_id)    {       struct atm_dev *dev;       IADEV *iadev;   diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c index b9568e10965..8895f026bea 100644 --- a/drivers/atm/lanai.c +++ b/drivers/atm/lanai.c @@ -1890,12 +1890,12 @@ 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, struct pt_regs *regs) +static irqreturn_t lanai_int(int irq, void *devid)  {  	struct lanai_dev *lanai = (struct lanai_dev *) devid;  	u32 reason; -	(void) irq; (void) regs;	/* unused variables */ +	(void) irq;	/* unused variables */  #ifdef USE_POWERDOWN  	/* diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c index b8036899e56..632ede55276 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, struct pt_regs *regs); +static irqreturn_t ns_irq_handler(int irq, 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, struct pt_regs *regs) +static irqreturn_t ns_irq_handler(int irq, void *dev_id)  {     u32 stat_r;     ns_dev *card; diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c index 083c5d3f2e1..7df0f373188 100644 --- a/drivers/atm/zatm.c +++ b/drivers/atm/zatm.c @@ -1012,7 +1012,7 @@ static int start_tx(struct atm_dev *dev)  /*------------------------------- interrupts --------------------------------*/ -static irqreturn_t zatm_int(int irq,void *dev_id,struct pt_regs *regs) +static irqreturn_t zatm_int(int irq,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 b3f639fbf22..3e8ab84b944 100644 --- a/drivers/block/DAC960.c +++ b/drivers/block/DAC960.c @@ -2698,8 +2698,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device,  {    struct DAC960_privdata *privdata =  	  	(struct DAC960_privdata *)entry->driver_data; -  irqreturn_t (*InterruptHandler)(int, void *, struct pt_regs *) = -	  	privdata->InterruptHandler; +  irq_handler_t InterruptHandler = privdata->InterruptHandler;    unsigned int MemoryWindowSize = privdata->MemoryWindowSize;    DAC960_Controller_T *Controller = NULL;    unsigned char DeviceFunction = PCI_Device->devfn; @@ -5253,8 +5252,7 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command)  */  static irqreturn_t DAC960_GEM_InterruptHandler(int IRQ_Channel, -				       void *DeviceIdentifier, -				       struct pt_regs *InterruptRegisters) +				       void *DeviceIdentifier)  {    DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier;    void __iomem *ControllerBaseAddress = Controller->BaseAddress; @@ -5295,8 +5293,7 @@ static irqreturn_t DAC960_GEM_InterruptHandler(int IRQ_Channel,  */  static irqreturn_t DAC960_BA_InterruptHandler(int IRQ_Channel, -				       void *DeviceIdentifier, -				       struct pt_regs *InterruptRegisters) +				       void *DeviceIdentifier)  {    DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier;    void __iomem *ControllerBaseAddress = Controller->BaseAddress; @@ -5338,8 +5335,7 @@ static irqreturn_t DAC960_BA_InterruptHandler(int IRQ_Channel,  */  static irqreturn_t DAC960_LP_InterruptHandler(int IRQ_Channel, -				       void *DeviceIdentifier, -				       struct pt_regs *InterruptRegisters) +				       void *DeviceIdentifier)  {    DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier;    void __iomem *ControllerBaseAddress = Controller->BaseAddress; @@ -5381,8 +5377,7 @@ static irqreturn_t DAC960_LP_InterruptHandler(int IRQ_Channel,  */  static irqreturn_t DAC960_LA_InterruptHandler(int IRQ_Channel, -				       void *DeviceIdentifier, -				       struct pt_regs *InterruptRegisters) +				       void *DeviceIdentifier)  {    DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier;    void __iomem *ControllerBaseAddress = Controller->BaseAddress; @@ -5420,8 +5415,7 @@ static irqreturn_t DAC960_LA_InterruptHandler(int IRQ_Channel,  */  static irqreturn_t DAC960_PG_InterruptHandler(int IRQ_Channel, -				       void *DeviceIdentifier, -				       struct pt_regs *InterruptRegisters) +				       void *DeviceIdentifier)  {    DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier;    void __iomem *ControllerBaseAddress = Controller->BaseAddress; @@ -5459,8 +5453,7 @@ static irqreturn_t DAC960_PG_InterruptHandler(int IRQ_Channel,  */  static irqreturn_t DAC960_PD_InterruptHandler(int IRQ_Channel, -				       void *DeviceIdentifier, -				       struct pt_regs *InterruptRegisters) +				       void *DeviceIdentifier)  {    DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier;    void __iomem *ControllerBaseAddress = Controller->BaseAddress; @@ -5498,8 +5491,7 @@ static irqreturn_t DAC960_PD_InterruptHandler(int IRQ_Channel,  */  static irqreturn_t DAC960_P_InterruptHandler(int IRQ_Channel, -				      void *DeviceIdentifier, -				      struct pt_regs *InterruptRegisters) +				      void *DeviceIdentifier)  {    DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier;    void __iomem *ControllerBaseAddress = Controller->BaseAddress; diff --git a/drivers/block/DAC960.h b/drivers/block/DAC960.h index f9217c34bc2..cec539e601f 100644 --- a/drivers/block/DAC960.h +++ b/drivers/block/DAC960.h @@ -2175,7 +2175,7 @@ static char  struct DAC960_privdata {  	DAC960_HardwareType_T	HardwareType;  	DAC960_FirmwareType_T	FirmwareType; -	irqreturn_t (*InterruptHandler)(int, void *, struct pt_regs *); +	irq_handler_t		InterruptHandler;  	unsigned int		MemoryWindowSize;  }; @@ -4412,12 +4412,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 *, struct pt_regs *); -static irqreturn_t DAC960_LP_InterruptHandler(int, void *, struct pt_regs *); -static irqreturn_t DAC960_LA_InterruptHandler(int, void *, struct pt_regs *); -static irqreturn_t DAC960_PG_InterruptHandler(int, void *, struct pt_regs *); -static irqreturn_t DAC960_PD_InterruptHandler(int, void *, struct pt_regs *); -static irqreturn_t DAC960_P_InterruptHandler(int, void *, struct pt_regs *); +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 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/acsi.c b/drivers/block/acsi.c index 0b80fbb8dbf..706cdc6a69e 100644 --- a/drivers/block/acsi.c +++ b/drivers/block/acsi.c @@ -346,7 +346,7 @@ static int acsicmd_dma( const char *cmd, char *buffer, int blocks, int                          rwflag, int enable);  static int acsi_reqsense( char *buffer, int targ, int lun);  static void acsi_print_error(const unsigned char *errblk, struct acsi_info_struct *aip); -static irqreturn_t acsi_interrupt (int irq, void *data, struct pt_regs *fp); +static irqreturn_t acsi_interrupt (int irq, void *data);  static void unexpected_acsi_interrupt( void );  static void bad_rw_intr( void );  static void read_intr( void ); @@ -726,7 +726,7 @@ static void acsi_print_error(const unsigned char *errblk, struct acsi_info_struc   *   *******************************************************************/ -static irqreturn_t acsi_interrupt(int irq, void *data, struct pt_regs *fp ) +static irqreturn_t acsi_interrupt(int irq, void *data )  {	void (*acsi_irq_handler)(void) = do_acsi; diff --git a/drivers/block/acsi_slm.c b/drivers/block/acsi_slm.c index 4030a8fd118..8e41c87b026 100644 --- a/drivers/block/acsi_slm.c +++ b/drivers/block/acsi_slm.c @@ -246,7 +246,7 @@ static int slm_getstats( char *buffer, int device );  static ssize_t slm_read( struct file* file, char *buf, size_t count, loff_t                           *ppos );  static void start_print( int device ); -static irqreturn_t slm_interrupt(int irc, void *data, struct pt_regs *fp); +static irqreturn_t slm_interrupt(int irc, void *data);  static void slm_test_ready( unsigned long dummy );  static void set_dma_addr( unsigned long paddr );  static unsigned long get_dma_addr( void ); @@ -452,7 +452,7 @@ static void start_print( int device )  /* Only called when an error happened or at the end of a page */ -static irqreturn_t slm_interrupt(int irc, void *data, struct pt_regs *fp) +static irqreturn_t slm_interrupt(int irc, void *data)  {	unsigned long	addr;  	int				stat; diff --git a/drivers/block/amiflop.c b/drivers/block/amiflop.c index 2641597c654..5d254b71450 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, struct pt_regs *fp) +static irqreturn_t ms_isr(int irq, 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, struct pt_regs *fp) +static irqreturn_t fd_block_done(int irq, void *dummy)  {  	if (block_flag)  		custom.dsklen = 0x4000; diff --git a/drivers/block/ataflop.c b/drivers/block/ataflop.c index c39650920bd..14d6b949275 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, struct pt_regs *fp); +static irqreturn_t floppy_irq (int 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, struct pt_regs *fp) +static irqreturn_t floppy_irq (int irq, void *dummy)  {  	unsigned char status;  	void (*handler)( int ); diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 36b88f6c5f8..dcccaf2782f 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -130,7 +130,7 @@ static struct board_type products[] = {  static ctlr_info_t *hba[MAX_CTLR];  static void do_cciss_request(request_queue_t *q); -static irqreturn_t do_cciss_intr(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t do_cciss_intr(int irq, 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, @@ -2300,7 +2300,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, NULL); +		do_cciss_intr(0, info_p);  #endif  	cmd_free(info_p, c, 1);  	return status; @@ -2652,7 +2652,7 @@ static inline long interrupt_not_for_us(ctlr_info_t *h)  #endif  } -static irqreturn_t do_cciss_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t do_cciss_intr(int irq, 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 ada68e65b5f..570d2f04932 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, struct pt_regs * regs); +static irqreturn_t do_ida_intr(int irq, 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); @@ -1042,7 +1042,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, struct pt_regs *regs) +static irqreturn_t do_ida_intr(int irq, 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 629c5769d99..9e6d3a87cbe 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -221,7 +221,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, struct pt_regs *regs); +irqreturn_t floppy_interrupt(int irq, void *dev_id);  static int set_dor(int fdc, char mask, char data);  #define K_64	0x10000		/* 64KB */ @@ -1726,7 +1726,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, struct pt_regs *regs) +irqreturn_t floppy_interrupt(int irq, void *dev_id)  {  	void (*handler) (void) = do_floppy;  	int do_print; diff --git a/drivers/block/ps2esdi.c b/drivers/block/ps2esdi.c index 5537974fb24..688a4fb0dc9 100644 --- a/drivers/block/ps2esdi.c +++ b/drivers/block/ps2esdi.c @@ -75,8 +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, -				      struct pt_regs *regs); +static irqreturn_t ps2esdi_interrupt_handler(int irq, 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); @@ -687,8 +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, -				      struct pt_regs *regs) +static irqreturn_t ps2esdi_interrupt_handler(int irq, void *dev_id)  {  	u_int int_ret_code; diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c index fdc8f892eb8..1a65979f1f0 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, struct pt_regs *regs); -/*static void fd_dma_interrupt(int irq, void *dev_id, struct pt_regs *regs);*/ +static irqreturn_t swim3_interrupt(int irq, void *dev_id); +/*static void fd_dma_interrupt(int irq, 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, struct pt_regs *regs) +static irqreturn_t swim3_interrupt(int irq, 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, struct pt_regs *regs)  }  /* -static void fd_dma_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static void fd_dma_interrupt(int irq, void *dev_id)  {  }  */ diff --git a/drivers/block/swim_iop.c b/drivers/block/swim_iop.c index dfda796eba5..ed7b06cf3e6 100644 --- a/drivers/block/swim_iop.c +++ b/drivers/block/swim_iop.c @@ -94,7 +94,7 @@ static char *drive_names[7] = {  int swimiop_init(void);  static void swimiop_init_request(struct swim_iop_req *);  static int swimiop_send_request(struct swim_iop_req *); -static void swimiop_receive(struct iop_msg *, struct pt_regs *); +static void swimiop_receive(struct iop_msg *);  static void swimiop_status_update(int, struct swim_drvstatus *);  static int swimiop_eject(struct floppy_state *fs); @@ -257,7 +257,7 @@ static int swimiop_send_request(struct swim_iop_req *req)   * 2. An unsolicited message was received from the IOP.   */ -void swimiop_receive(struct iop_msg *msg, struct pt_regs *regs) +void swimiop_receive(struct iop_msg *msg)  {  	struct swim_iop_req *req;  	struct swimmsg_status *sm; diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c index c6beee18a07..47d6975268f 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, struct pt_regs *regs) +static irqreturn_t carm_interrupt(int irq, void *__host)  {  	struct carm_host *host = __host;  	void __iomem *mmio; diff --git a/drivers/block/ub.c b/drivers/block/ub.c index 45a8f402b07..0d5c73f0726 100644 --- a/drivers/block/ub.c +++ b/drivers/block/ub.c @@ -362,7 +362,7 @@ static void ub_end_rq(struct request *rq, unsigned int status);  static int ub_rw_cmd_retry(struct ub_dev *sc, struct ub_lun *lun,      struct ub_request *urq, struct ub_scsi_cmd *cmd);  static int ub_submit_scsi(struct ub_dev *sc, struct ub_scsi_cmd *cmd); -static void ub_urb_complete(struct urb *urb, struct pt_regs *pt); +static void ub_urb_complete(struct urb *urb);  static void ub_scsi_action(unsigned long _dev);  static void ub_scsi_dispatch(struct ub_dev *sc);  static void ub_scsi_urb_compl(struct ub_dev *sc, struct ub_scsi_cmd *cmd); @@ -959,7 +959,7 @@ static void ub_urb_timeout(unsigned long arg)   * the sc->lock taken) and from an interrupt (while we do NOT have   * the sc->lock taken). Therefore, bounce this off to a tasklet.   */ -static void ub_urb_complete(struct urb *urb, struct pt_regs *pt) +static void ub_urb_complete(struct urb *urb)  {  	struct ub_dev *sc = urb->context; @@ -1923,7 +1923,7 @@ err_alloc:  /*   */ -static void ub_probe_urb_complete(struct urb *urb, struct pt_regs *pt) +static void ub_probe_urb_complete(struct urb *urb)  {  	struct completion *cop = urb->context;  	complete(cop); diff --git a/drivers/block/umem.c b/drivers/block/umem.c index cbb9d0f21ac..30f16bd8365 100644 --- a/drivers/block/umem.c +++ b/drivers/block/umem.c @@ -571,7 +571,7 @@ static int mm_make_request(request_queue_t *q, struct bio *bio)  --                              mm_interrupt  -----------------------------------------------------------------------------------  */ -static irqreturn_t mm_interrupt(int irq, void *__card, struct pt_regs *regs) +static irqreturn_t mm_interrupt(int irq, 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 ebf3025721d..10cc38783bd 100644 --- a/drivers/block/xd.c +++ b/drivers/block/xd.c @@ -462,8 +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, -					struct pt_regs *regs) +static irqreturn_t xd_interrupt_handler(int irq, 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 71ac2e3dffc..82e090fea95 100644 --- a/drivers/block/xd.h +++ b/drivers/block/xd.h @@ -109,8 +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, -					struct pt_regs *regs); +static irqreturn_t xd_interrupt_handler(int irq, 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/bluetooth/bcm203x.c b/drivers/bluetooth/bcm203x.c index 13ba729cdd5..67cdda43f22 100644 --- a/drivers/bluetooth/bcm203x.c +++ b/drivers/bluetooth/bcm203x.c @@ -82,7 +82,7 @@ struct bcm203x_data {  	unsigned int		fw_sent;  }; -static void bcm203x_complete(struct urb *urb, struct pt_regs *regs) +static void bcm203x_complete(struct urb *urb)  {  	struct bcm203x_data *data = urb->context;  	struct usb_device *udev = urb->dev; diff --git a/drivers/bluetooth/bfusb.c b/drivers/bluetooth/bfusb.c index efcc28ec9d9..31ade991aa9 100644 --- a/drivers/bluetooth/bfusb.c +++ b/drivers/bluetooth/bfusb.c @@ -95,8 +95,8 @@ struct bfusb_data_scb {  	struct urb *urb;  }; -static void bfusb_tx_complete(struct urb *urb, struct pt_regs *regs); -static void bfusb_rx_complete(struct urb *urb, struct pt_regs *regs); +static void bfusb_tx_complete(struct urb *urb); +static void bfusb_rx_complete(struct urb *urb);  static struct urb *bfusb_get_completed(struct bfusb_data *data)  { @@ -190,7 +190,7 @@ static void bfusb_tx_wakeup(struct bfusb_data *data)  	clear_bit(BFUSB_TX_PROCESS, &data->state);  } -static void bfusb_tx_complete(struct urb *urb, struct pt_regs *regs) +static void bfusb_tx_complete(struct urb *urb)  {  	struct sk_buff *skb = (struct sk_buff *) urb->context;  	struct bfusb_data *data = (struct bfusb_data *) skb->dev; @@ -349,7 +349,7 @@ static inline int bfusb_recv_block(struct bfusb_data *data, int hdr, unsigned ch  	return 0;  } -static void bfusb_rx_complete(struct urb *urb, struct pt_regs *regs) +static void bfusb_rx_complete(struct urb *urb)  {  	struct sk_buff *skb = (struct sk_buff *) urb->context;  	struct bfusb_data *data = (struct bfusb_data *) skb->dev; diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c index 8eebf9ca378..845b8680032 100644 --- a/drivers/bluetooth/bluecard_cs.c +++ b/drivers/bluetooth/bluecard_cs.c @@ -497,7 +497,7 @@ static void bluecard_receive(bluecard_info_t *info, unsigned int offset)  } -static irqreturn_t bluecard_interrupt(int irq, void *dev_inst, struct pt_regs *regs) +static irqreturn_t bluecard_interrupt(int irq, void *dev_inst)  {  	bluecard_info_t *info = dev_inst;  	unsigned int iobase; diff --git a/drivers/bluetooth/bpa10x.c b/drivers/bluetooth/bpa10x.c index e0231dc2cb1..9fca6513562 100644 --- a/drivers/bluetooth/bpa10x.c +++ b/drivers/bluetooth/bpa10x.c @@ -263,7 +263,7 @@ static void bpa10x_wakeup(struct bpa10x_data *data)  	}  } -static void bpa10x_complete(struct urb *urb, struct pt_regs *regs) +static void bpa10x_complete(struct urb *urb)  {  	struct bpa10x_data *data = urb->context;  	unsigned char *buf = urb->transfer_buffer; diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c index df7bb016df4..3a96a0babc6 100644 --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c @@ -338,7 +338,7 @@ static void bt3c_receive(bt3c_info_t *info)  } -static irqreturn_t bt3c_interrupt(int irq, void *dev_inst, struct pt_regs *regs) +static irqreturn_t bt3c_interrupt(int irq, void *dev_inst)  {  	bt3c_info_t *info = dev_inst;  	unsigned int iobase; diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c index 746ccca97f6..3b29086b7c3 100644 --- a/drivers/bluetooth/btuart_cs.c +++ b/drivers/bluetooth/btuart_cs.c @@ -288,7 +288,7 @@ static void btuart_receive(btuart_info_t *info)  } -static irqreturn_t btuart_interrupt(int irq, void *dev_inst, struct pt_regs *regs) +static irqreturn_t btuart_interrupt(int irq, 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 0e99def8a1e..e7c800f4c3a 100644 --- a/drivers/bluetooth/dtl1_cs.c +++ b/drivers/bluetooth/dtl1_cs.c @@ -291,7 +291,7 @@ static void dtl1_receive(dtl1_info_t *info)  } -static irqreturn_t dtl1_interrupt(int irq, void *dev_inst, struct pt_regs *regs) +static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)  {  	dtl1_info_t *info = dev_inst;  	unsigned int iobase; diff --git a/drivers/bluetooth/hci_usb.c b/drivers/bluetooth/hci_usb.c index 0801af4ad2b..7565642a007 100644 --- a/drivers/bluetooth/hci_usb.c +++ b/drivers/bluetooth/hci_usb.c @@ -176,8 +176,8 @@ static struct _urb *_urb_dequeue(struct _urb_queue *q)  	return _urb;  } -static void hci_usb_rx_complete(struct urb *urb, struct pt_regs *regs); -static void hci_usb_tx_complete(struct urb *urb, struct pt_regs *regs); +static void hci_usb_rx_complete(struct urb *urb); +static void hci_usb_tx_complete(struct urb *urb);  #define __pending_tx(husb, type)  (&husb->pending_tx[type-1])  #define __pending_q(husb, type)   (&husb->pending_q[type-1]) @@ -732,7 +732,7 @@ static inline int __recv_frame(struct hci_usb *husb, int type, void *data, int c  	return 0;  } -static void hci_usb_rx_complete(struct urb *urb, struct pt_regs *regs) +static void hci_usb_rx_complete(struct urb *urb)  {  	struct _urb *_urb = container_of(urb, struct _urb, urb);  	struct hci_usb *husb = (void *) urb->context; @@ -786,7 +786,7 @@ unlock:  	read_unlock(&husb->completion_lock);  } -static void hci_usb_tx_complete(struct urb *urb, struct pt_regs *regs) +static void hci_usb_tx_complete(struct urb *urb)  {  	struct _urb *_urb = container_of(urb, struct _urb, urb);  	struct hci_usb *husb = (void *) urb->context; diff --git a/drivers/cdrom/cdu31a.c b/drivers/cdrom/cdu31a.c index ccd91c1a84b..2157c58755e 100644 --- a/drivers/cdrom/cdu31a.c +++ b/drivers/cdrom/cdu31a.c @@ -513,7 +513,7 @@ static inline void write_cmd(unsigned char cmd)  	outb(cmd, sony_cd_cmd_reg);  } -static irqreturn_t cdu31a_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t cdu31a_interrupt(int irq, void *dev_id)  {  	unsigned char val; diff --git a/drivers/cdrom/cm206.c b/drivers/cdrom/cm206.c index 9b05ddd2314..e6d8e9edede 100644 --- a/drivers/cdrom/cm206.c +++ b/drivers/cdrom/cm206.c @@ -359,7 +359,7 @@ static struct tasklet_struct cm206_tasklet;     as there seems so reason for this to happen.  */ -static irqreturn_t cm206_interrupt(int sig, void *dev_id, struct pt_regs *regs) +static irqreturn_t cm206_interrupt(int sig, void *dev_id)  {  	volatile ush fool;  	cd->intr_ds = inw(r_data_status);	/* resets data_ready, data_error, diff --git a/drivers/cdrom/mcdx.c b/drivers/cdrom/mcdx.c index dcd1ab684f3..60e1978ec0e 100644 --- a/drivers/cdrom/mcdx.c +++ b/drivers/cdrom/mcdx.c @@ -845,7 +845,7 @@ static void mcdx_delay(struct s_drive_stuff *stuff, long jifs)  	}  } -static irqreturn_t mcdx_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mcdx_intr(int irq, void *dev_id)  {  	struct s_drive_stuff *stuffp = dev_id;  	unsigned char b; diff --git a/drivers/cdrom/sonycd535.c b/drivers/cdrom/sonycd535.c index 30ab56258a9..f77ada933ea 100644 --- a/drivers/cdrom/sonycd535.c +++ b/drivers/cdrom/sonycd535.c @@ -322,7 +322,7 @@ disable_interrupts(void)  }  static irqreturn_t -cdu535_interrupt(int irq, void *dev_id, struct pt_regs *regs) +cdu535_interrupt(int irq, void *dev_id)  {  	disable_interrupts();  	if (waitqueue_active(&cdu535_irq_wait)) { diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c index 486f97c3f4e..66086fa2d59 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, struct pt_regs *regs) +static irqreturn_t ser_vbl_int( int irq, 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, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t ser_rx_int(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t ser_rx_int(int irq, void *dev_id)  {  	struct async_struct * info; @@ -480,7 +480,7 @@ static irqreturn_t ser_rx_int(int irq, void *dev_id, struct pt_regs * regs)  	return IRQ_HANDLED;  } -static irqreturn_t ser_tx_int(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t ser_tx_int(int irq, void *dev_id)  {  	struct async_struct * info; diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c index 10a389dafd6..1f0b752e5de 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 *, struct pt_regs *); +static irqreturn_t ac_interrupt(int, 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, struct pt_regs *regs) +static irqreturn_t ac_interrupt(int vec, void *dev_instance)  {  	unsigned int i;  	unsigned int FlagInt; diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index 87b2fb51087..e608dadece2 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c @@ -1057,7 +1057,7 @@ detect_isa_irq(void __iomem *address)     received, out buffer empty, modem change, etc.   */  static irqreturn_t -cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) +cyy_interrupt(int irq, void *dev_id)  {    struct tty_struct *tty;    int status; @@ -1802,7 +1802,7 @@ cyz_handle_cmd(struct cyclades_card *cinfo)  #ifdef CONFIG_CYZ_INTR  static irqreturn_t -cyz_interrupt(int irq, void *dev_id, struct pt_regs *regs) +cyz_interrupt(int irq, void *dev_id)  {    struct cyclades_card *cinfo; diff --git a/drivers/char/drm/drm_os_linux.h b/drivers/char/drm/drm_os_linux.h index 695115d7038..2908b72daa6 100644 --- a/drivers/char/drm/drm_os_linux.h +++ b/drivers/char/drm/drm_os_linux.h @@ -38,7 +38,7 @@  			drm_device_t	*dev	= priv->head->dev  /** IRQ handler arguments and return type and values */ -#define DRM_IRQ_ARGS		int irq, void *arg, struct pt_regs *regs +#define DRM_IRQ_ARGS		int irq, void *arg  /** AGP types */  #if __OS_HAS_AGP diff --git a/drivers/char/ec3104_keyb.c b/drivers/char/ec3104_keyb.c index abac18b1871..77f58ed6d59 100644 --- a/drivers/char/ec3104_keyb.c +++ b/drivers/char/ec3104_keyb.c @@ -370,7 +370,7 @@ static void e5_receive(struct e5_struct *k)  	}  } -static void ec3104_keyb_interrupt(int irq, void *data, struct pt_regs *regs) +static void ec3104_keyb_interrupt(int irq, void *data)  {  	struct e5_struct *k = &ec3104_keyb;  	u8 msr, lsr; diff --git a/drivers/char/esp.c b/drivers/char/esp.c index 05788c75d7f..15a4ea89632 100644 --- a/drivers/char/esp.c +++ b/drivers/char/esp.c @@ -615,8 +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, -					struct pt_regs *regs) +static irqreturn_t rs_interrupt_single(int irq, void *dev_id)  {  	struct esp_struct * info;  	unsigned err_status; diff --git a/drivers/char/ftape/lowlevel/fdc-io.c b/drivers/char/ftape/lowlevel/fdc-io.c index 21653244565..bbcf918f056 100644 --- a/drivers/char/ftape/lowlevel/fdc-io.c +++ b/drivers/char/ftape/lowlevel/fdc-io.c @@ -1243,7 +1243,7 @@ static int fdc_config(void)  	TRACE_EXIT 0;  } -static irqreturn_t ftape_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ftape_interrupt(int irq, void *dev_id)  {  	void (*handler) (void) = *fdc.hook;  	int handled = 0; diff --git a/drivers/char/hangcheck-timer.c b/drivers/char/hangcheck-timer.c index d69f2ad9a67..1aa93a752a9 100644 --- a/drivers/char/hangcheck-timer.c +++ b/drivers/char/hangcheck-timer.c @@ -159,7 +159,7 @@ static void hangcheck_fire(unsigned long data)  		if (hangcheck_dump_tasks) {  			printk(KERN_CRIT "Hangcheck: Task state:\n");  #ifdef CONFIG_MAGIC_SYSRQ -			handle_sysrq('t', NULL, NULL); +			handle_sysrq('t', NULL);  #endif  /* CONFIG_MAGIC_SYSRQ */  		}  		if (hangcheck_reboot) { diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c index 58b0eb58111..091a11cd878 100644 --- a/drivers/char/hpet.c +++ b/drivers/char/hpet.c @@ -116,7 +116,7 @@ static inline void writeq(unsigned long long v, void __iomem *addr)  }  #endif -static irqreturn_t hpet_interrupt(int irq, void *data, struct pt_regs *regs) +static irqreturn_t hpet_interrupt(int irq, void *data)  {  	struct hpet_dev *devp;  	unsigned long isr; diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c index 4053d1cd393..9902ffad3b1 100644 --- a/drivers/char/hvc_console.c +++ b/drivers/char/hvc_console.c @@ -294,7 +294,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, struct pt_regs *regs) +static irqreturn_t hvc_handle_interrupt(int irq, void *dev_instance)  {  	/* if hvc_poll request a repoll, then kick the hvcd thread */  	if (hvc_poll(dev_instance)) @@ -621,7 +621,7 @@ static int hvc_poll(struct hvc_struct *hp)  					sysrq_pressed = 1;  					continue;  				} else if (sysrq_pressed) { -					handle_sysrq(buf[i], NULL, tty); +					handle_sysrq(buf[i], tty);  					sysrq_pressed = 0;  					continue;  				} diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c index 0b89bcde8c5..8728255c946 100644 --- a/drivers/char/hvcs.c +++ b/drivers/char/hvcs.c @@ -313,8 +313,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, -		struct pt_regs *regs); +static irqreturn_t hvcs_handle_interrupt(int irq, void *dev_instance);  static int hvcs_write(struct tty_struct *tty,  		const unsigned char *buf, int count); @@ -387,8 +386,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, -		struct pt_regs *regs) +static irqreturn_t hvcs_handle_interrupt(int irq, void *dev_instance)  {  	struct hvcs_struct *hvcsd = dev_instance; diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c index c07dc58d5c1..2cf63e7305a 100644 --- a/drivers/char/hvsi.c +++ b/drivers/char/hvsi.c @@ -406,7 +406,7 @@ static void hvsi_insert_chars(struct hvsi_struct *hp, const char *buf, int len)  			hp->sysrq = 1;  			continue;  		} else if (hp->sysrq) { -			handle_sysrq(c, NULL, hp->tty); +			handle_sysrq(c, hp->tty);  			hp->sysrq = 0;  			continue;  		} @@ -555,7 +555,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, struct pt_regs *regs) +static irqreturn_t hvsi_interrupt(int irq, void *arg)  {  	struct hvsi_struct *hp = (struct hvsi_struct *)arg;  	struct tty_struct *flip; @@ -616,7 +616,7 @@ static int __init poll_for_state(struct hvsi_struct *hp, int state)  	unsigned long end_jiffies = jiffies + HVSI_TIMEOUT;  	for (;;) { -		hvsi_interrupt(hp->virq, (void *)hp, NULL); /* get pending data */ +		hvsi_interrupt(hp->virq, (void *)hp); /* get pending data */  		if (hp->state == state)  			return 0; diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c index 62ef511d143..858ba5432c9 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(i2eBordStrPtr pB); -static irqreturn_t ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs); +static irqreturn_t ip2_interrupt(int irq, void *dev_id);  static void ip2_poll(unsigned long arg);  static inline void service_all_boards(void);  static void do_input(void *p); @@ -1154,10 +1154,9 @@ ip2_interrupt_bh(i2eBordStrPtr pB)  /******************************************************************************/ -/* Function:   ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs)    */ +/* Function:   ip2_interrupt(int irq, void *dev_id)    */  /* Parameters: irq - interrupt number                                         */  /*             pointer to optional device ID structure                        */ -/*             pointer to register structure                                  */  /* Returns:    Nothing                                                        */  /*                                                                            */  /* Description:                                                               */ @@ -1173,7 +1172,7 @@ ip2_interrupt_bh(i2eBordStrPtr pB)  /*                                                                            */  /******************************************************************************/  static irqreturn_t -ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs) +ip2_interrupt(int irq, void *dev_id)  {  	int i;  	i2eBordStrPtr  pB; @@ -1237,7 +1236,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, NULL); +	ip2_interrupt(0, NULL);  	PollTimer.expires = POLL_TIMEOUT;  	add_timer( &PollTimer ); diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index b106c45abfc..24825bdca8f 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c @@ -872,7 +872,7 @@ static void smi_timeout(unsigned long data)  	add_timer(&(smi_info->si_timer));  } -static irqreturn_t si_irq_handler(int irq, void *data, struct pt_regs *regs) +static irqreturn_t si_irq_handler(int irq, void *data)  {  	struct smi_info *smi_info = data;  	unsigned long   flags; @@ -899,14 +899,14 @@ static irqreturn_t si_irq_handler(int irq, void *data, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t si_bt_irq_handler(int irq, void *data, struct pt_regs *regs) +static irqreturn_t si_bt_irq_handler(int irq, 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, regs); +	return si_irq_handler(irq, data);  }  static int smi_start_processing(void       *send_info, diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c index accaaf1a6b6..73f759eaa5a 100644 --- a/drivers/char/ipmi/ipmi_watchdog.c +++ b/drivers/char/ipmi/ipmi_watchdog.c @@ -903,7 +903,7 @@ static void ipmi_register_watchdog(int ipmi_intf)  #ifdef HAVE_NMI_HANDLER  static int -ipmi_nmi(void *dev_id, struct pt_regs *regs, int cpu, int handled) +ipmi_nmi(void *dev_id, int cpu, int handled)  {          /* If we are not expecting a timeout, ignore it. */  	if (ipmi_watchdog_state == WDOG_TIMEOUT_NONE) diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c index ea2bbf80ad3..e9e9bf31c36 100644 --- a/drivers/char/isicom.c +++ b/drivers/char/isicom.c @@ -546,7 +546,7 @@ static void isicom_bottomhalf(void *data)   *	Main interrupt handler routine   */ -static irqreturn_t isicom_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t isicom_interrupt(int irq, void *dev_id)  {  	struct isi_board *card = dev_id;  	struct isi_port *port; diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c index e2011669c7b..20b6c8b3024 100644 --- a/drivers/char/keyboard.c +++ b/drivers/char/keyboard.c @@ -32,6 +32,7 @@  #include <linux/string.h>  #include <linux/init.h>  #include <linux/slab.h> +#include <linux/irq.h>  #include <linux/kbd_kern.h>  #include <linux/kbd_diacr.h> @@ -77,7 +78,7 @@ void compute_shiftstate(void);  	k_slock,	k_dead2,	k_brl,		k_ignore  typedef void (k_handler_fn)(struct vc_data *vc, unsigned char value, -			    char up_flag, struct pt_regs *regs); +			    char up_flag);  static k_handler_fn K_HANDLERS;  static k_handler_fn *k_handler[16] = { K_HANDLERS }; @@ -88,7 +89,7 @@ static k_handler_fn *k_handler[16] = { K_HANDLERS };  	fn_boot_it,	fn_caps_on,	fn_compose,	fn_SAK,\  	fn_dec_console, fn_inc_console, fn_spawn_con,	fn_bare_num -typedef void (fn_handler_fn)(struct vc_data *vc, struct pt_regs *regs); +typedef void (fn_handler_fn)(struct vc_data *vc);  static fn_handler_fn FN_HANDLERS;  static fn_handler_fn *fn_handler[] = { FN_HANDLERS }; @@ -428,7 +429,7 @@ static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch)  /*   * Special function handlers   */ -static void fn_enter(struct vc_data *vc, struct pt_regs *regs) +static void fn_enter(struct vc_data *vc)  {  	if (diacr) {  		if (kbd->kbdmode == VC_UNICODE) @@ -442,27 +443,28 @@ static void fn_enter(struct vc_data *vc, struct pt_regs *regs)  		put_queue(vc, 10);  } -static void fn_caps_toggle(struct vc_data *vc, struct pt_regs *regs) +static void fn_caps_toggle(struct vc_data *vc)  {  	if (rep)  		return;  	chg_vc_kbd_led(kbd, VC_CAPSLOCK);  } -static void fn_caps_on(struct vc_data *vc, struct pt_regs *regs) +static void fn_caps_on(struct vc_data *vc)  {  	if (rep)  		return;  	set_vc_kbd_led(kbd, VC_CAPSLOCK);  } -static void fn_show_ptregs(struct vc_data *vc, struct pt_regs *regs) +static void fn_show_ptregs(struct vc_data *vc)  { +	struct pt_regs *regs = get_irq_regs();  	if (regs)  		show_regs(regs);  } -static void fn_hold(struct vc_data *vc, struct pt_regs *regs) +static void fn_hold(struct vc_data *vc)  {  	struct tty_struct *tty = vc->vc_tty; @@ -480,12 +482,12 @@ static void fn_hold(struct vc_data *vc, struct pt_regs *regs)  		stop_tty(tty);  } -static void fn_num(struct vc_data *vc, struct pt_regs *regs) +static void fn_num(struct vc_data *vc)  {  	if (vc_kbd_mode(kbd,VC_APPLIC))  		applkey(vc, 'P', 1);  	else -		fn_bare_num(vc, regs); +		fn_bare_num(vc);  }  /* @@ -494,19 +496,19 @@ static void fn_num(struct vc_data *vc, struct pt_regs *regs)   * Bind this to NumLock if you prefer that the NumLock key always   * changes the NumLock flag.   */ -static void fn_bare_num(struct vc_data *vc, struct pt_regs *regs) +static void fn_bare_num(struct vc_data *vc)  {  	if (!rep)  		chg_vc_kbd_led(kbd, VC_NUMLOCK);  } -static void fn_lastcons(struct vc_data *vc, struct pt_regs *regs) +static void fn_lastcons(struct vc_data *vc)  {  	/* switch to the last used console, ChN */  	set_console(last_console);  } -static void fn_dec_console(struct vc_data *vc, struct pt_regs *regs) +static void fn_dec_console(struct vc_data *vc)  {  	int i, cur = fg_console; @@ -523,7 +525,7 @@ static void fn_dec_console(struct vc_data *vc, struct pt_regs *regs)  	set_console(i);  } -static void fn_inc_console(struct vc_data *vc, struct pt_regs *regs) +static void fn_inc_console(struct vc_data *vc)  {  	int i, cur = fg_console; @@ -540,7 +542,7 @@ static void fn_inc_console(struct vc_data *vc, struct pt_regs *regs)  	set_console(i);  } -static void fn_send_intr(struct vc_data *vc, struct pt_regs *regs) +static void fn_send_intr(struct vc_data *vc)  {  	struct tty_struct *tty = vc->vc_tty; @@ -550,37 +552,37 @@ static void fn_send_intr(struct vc_data *vc, struct pt_regs *regs)  	con_schedule_flip(tty);  } -static void fn_scroll_forw(struct vc_data *vc, struct pt_regs *regs) +static void fn_scroll_forw(struct vc_data *vc)  {  	scrollfront(vc, 0);  } -static void fn_scroll_back(struct vc_data *vc, struct pt_regs *regs) +static void fn_scroll_back(struct vc_data *vc)  {  	scrollback(vc, 0);  } -static void fn_show_mem(struct vc_data *vc, struct pt_regs *regs) +static void fn_show_mem(struct vc_data *vc)  {  	show_mem();  } -static void fn_show_state(struct vc_data *vc, struct pt_regs *regs) +static void fn_show_state(struct vc_data *vc)  {  	show_state();  } -static void fn_boot_it(struct vc_data *vc, struct pt_regs *regs) +static void fn_boot_it(struct vc_data *vc)  {  	ctrl_alt_del();  } -static void fn_compose(struct vc_data *vc, struct pt_regs *regs) +static void fn_compose(struct vc_data *vc)  {  	dead_key_next = 1;  } -static void fn_spawn_con(struct vc_data *vc, struct pt_regs *regs) +static void fn_spawn_con(struct vc_data *vc)  {  	spin_lock(&vt_spawn_con.lock);  	if (vt_spawn_con.pid) @@ -591,7 +593,7 @@ static void fn_spawn_con(struct vc_data *vc, struct pt_regs *regs)  	spin_unlock(&vt_spawn_con.lock);  } -static void fn_SAK(struct vc_data *vc, struct pt_regs *regs) +static void fn_SAK(struct vc_data *vc)  {  	struct tty_struct *tty = vc->vc_tty; @@ -604,7 +606,7 @@ static void fn_SAK(struct vc_data *vc, struct pt_regs *regs)  	reset_vc(vc);  } -static void fn_null(struct vc_data *vc, struct pt_regs *regs) +static void fn_null(struct vc_data *vc)  {  	compute_shiftstate();  } @@ -612,11 +614,11 @@ static void fn_null(struct vc_data *vc, struct pt_regs *regs)  /*   * Special key handlers   */ -static void k_ignore(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_ignore(struct vc_data *vc, unsigned char value, char up_flag)  {  } -static void k_spec(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_spec(struct vc_data *vc, unsigned char value, char up_flag)  {  	if (up_flag)  		return; @@ -626,15 +628,15 @@ static void k_spec(struct vc_data *vc, unsigned char value, char up_flag, struct  	     kbd->kbdmode == VC_MEDIUMRAW) &&  	     value != KVAL(K_SAK))  		return;		/* SAK is allowed even in raw mode */ -	fn_handler[value](vc, regs); +	fn_handler[value](vc);  } -static void k_lowercase(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_lowercase(struct vc_data *vc, unsigned char value, char up_flag)  {  	printk(KERN_ERR "keyboard.c: k_lowercase was called - impossible\n");  } -static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag, struct pt_regs *regs) +static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag)  {  	if (up_flag)  		return;		/* no action, if this is a key release */ @@ -658,41 +660,41 @@ static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag, stru   * dead keys modifying the same character. Very useful   * for Vietnamese.   */ -static void k_deadunicode(struct vc_data *vc, unsigned int value, char up_flag, struct pt_regs *regs) +static void k_deadunicode(struct vc_data *vc, unsigned int value, char up_flag)  {  	if (up_flag)  		return;  	diacr = (diacr ? handle_diacr(vc, value) : value);  } -static void k_self(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_self(struct vc_data *vc, unsigned char value, char up_flag)  { -	k_unicode(vc, value, up_flag, regs); +	k_unicode(vc, value, up_flag);  } -static void k_dead2(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_dead2(struct vc_data *vc, unsigned char value, char up_flag)  { -	k_deadunicode(vc, value, up_flag, regs); +	k_deadunicode(vc, value, up_flag);  }  /*   * Obsolete - for backwards compatibility only   */ -static void k_dead(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_dead(struct vc_data *vc, unsigned char value, char up_flag)  {  	static const unsigned char ret_diacr[NR_DEAD] = {'`', '\'', '^', '~', '"', ',' };  	value = ret_diacr[value]; -	k_deadunicode(vc, value, up_flag, regs); +	k_deadunicode(vc, value, up_flag);  } -static void k_cons(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_cons(struct vc_data *vc, unsigned char value, char up_flag)  {  	if (up_flag)  		return;  	set_console(value);  } -static void k_fn(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_fn(struct vc_data *vc, unsigned char value, char up_flag)  {  	unsigned v; @@ -706,7 +708,7 @@ static void k_fn(struct vc_data *vc, unsigned char value, char up_flag, struct p  		printk(KERN_ERR "k_fn called with value=%d\n", value);  } -static void k_cur(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_cur(struct vc_data *vc, unsigned char value, char up_flag)  {  	static const char *cur_chars = "BDCA"; @@ -715,7 +717,7 @@ static void k_cur(struct vc_data *vc, unsigned char value, char up_flag, struct  	applkey(vc, cur_chars[value], vc_kbd_mode(kbd, VC_CKMODE));  } -static void k_pad(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_pad(struct vc_data *vc, unsigned char value, char up_flag)  {  	static const char pad_chars[] = "0123456789+-*/\015,.?()#";  	static const char app_map[] = "pqrstuvwxylSRQMnnmPQS"; @@ -733,34 +735,34 @@ static void k_pad(struct vc_data *vc, unsigned char value, char up_flag, struct  		switch (value) {  			case KVAL(K_PCOMMA):  			case KVAL(K_PDOT): -				k_fn(vc, KVAL(K_REMOVE), 0, regs); +				k_fn(vc, KVAL(K_REMOVE), 0);  				return;  			case KVAL(K_P0): -				k_fn(vc, KVAL(K_INSERT), 0, regs); +				k_fn(vc, KVAL(K_INSERT), 0);  				return;  			case KVAL(K_P1): -				k_fn(vc, KVAL(K_SELECT), 0, regs); +				k_fn(vc, KVAL(K_SELECT), 0);  				return;  			case KVAL(K_P2): -				k_cur(vc, KVAL(K_DOWN), 0, regs); +				k_cur(vc, KVAL(K_DOWN), 0);  				return;  			case KVAL(K_P3): -				k_fn(vc, KVAL(K_PGDN), 0, regs); +				k_fn(vc, KVAL(K_PGDN), 0);  				return;  			case KVAL(K_P4): -				k_cur(vc, KVAL(K_LEFT), 0, regs); +				k_cur(vc, KVAL(K_LEFT), 0);  				return;  			case KVAL(K_P6): -				k_cur(vc, KVAL(K_RIGHT), 0, regs); +				k_cur(vc, KVAL(K_RIGHT), 0);  				return;  			case KVAL(K_P7): -				k_fn(vc, KVAL(K_FIND), 0, regs); +				k_fn(vc, KVAL(K_FIND), 0);  				return;  			case KVAL(K_P8): -				k_cur(vc, KVAL(K_UP), 0, regs); +				k_cur(vc, KVAL(K_UP), 0);  				return;  			case KVAL(K_P9): -				k_fn(vc, KVAL(K_PGUP), 0, regs); +				k_fn(vc, KVAL(K_PGUP), 0);  				return;  			case KVAL(K_P5):  				applkey(vc, 'G', vc_kbd_mode(kbd, VC_APPLIC)); @@ -772,7 +774,7 @@ static void k_pad(struct vc_data *vc, unsigned char value, char up_flag, struct  		put_queue(vc, 10);  } -static void k_shift(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)  {  	int old_state = shift_state; @@ -813,7 +815,7 @@ static void k_shift(struct vc_data *vc, unsigned char value, char up_flag, struc  	}  } -static void k_meta(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_meta(struct vc_data *vc, unsigned char value, char up_flag)  {  	if (up_flag)  		return; @@ -825,7 +827,7 @@ static void k_meta(struct vc_data *vc, unsigned char value, char up_flag, struct  		put_queue(vc, value | 0x80);  } -static void k_ascii(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_ascii(struct vc_data *vc, unsigned char value, char up_flag)  {  	int base; @@ -847,16 +849,16 @@ static void k_ascii(struct vc_data *vc, unsigned char value, char up_flag, struc  		npadch = npadch * base + value;  } -static void k_lock(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_lock(struct vc_data *vc, unsigned char value, char up_flag)  {  	if (up_flag || rep)  		return;  	chg_vc_kbd_lock(kbd, value);  } -static void k_slock(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_slock(struct vc_data *vc, unsigned char value, char up_flag)  { -	k_shift(vc, value, up_flag, regs); +	k_shift(vc, value, up_flag);  	if (up_flag || rep)  		return;  	chg_vc_kbd_slock(kbd, value); @@ -876,25 +878,25 @@ static unsigned brl_nbchords = 1;  MODULE_PARM_DESC(brl_nbchords, "Number of chords that produce a braille pattern (0 for dead chords)");  module_param(brl_nbchords, uint, 0644); -static void k_brlcommit(struct vc_data *vc, unsigned int pattern, char up_flag, struct pt_regs *regs) +static void k_brlcommit(struct vc_data *vc, unsigned int pattern, char up_flag)  {  	static unsigned long chords;  	static unsigned committed;  	if (!brl_nbchords) -		k_deadunicode(vc, BRL_UC_ROW | pattern, up_flag, regs); +		k_deadunicode(vc, BRL_UC_ROW | pattern, up_flag);  	else {  		committed |= pattern;  		chords++;  		if (chords == brl_nbchords) { -			k_unicode(vc, BRL_UC_ROW | committed, up_flag, regs); +			k_unicode(vc, BRL_UC_ROW | committed, up_flag);  			chords = 0;  			committed = 0;  		}  	}  } -static void k_brl(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) +static void k_brl(struct vc_data *vc, unsigned char value, char up_flag)  {  	static unsigned pressed,committing;  	static unsigned long releasestart; @@ -906,7 +908,7 @@ static void k_brl(struct vc_data *vc, unsigned char value, char up_flag, struct  	}  	if (!value) { -		k_unicode(vc, BRL_UC_ROW, up_flag, regs); +		k_unicode(vc, BRL_UC_ROW, up_flag);  		return;  	} @@ -923,13 +925,13 @@ static void k_brl(struct vc_data *vc, unsigned char value, char up_flag, struct  			pressed &= ~(1 << (value - 1));  			if (!pressed) {  				if (committing) { -					k_brlcommit(vc, committing, 0, regs); +					k_brlcommit(vc, committing, 0);  					committing = 0;  				}  			}  		} else {  			if (committing) { -				k_brlcommit(vc, committing, 0, regs); +				k_brlcommit(vc, committing, 0);  				committing = 0;  			}  			pressed &= ~(1 << (value - 1)); @@ -1133,8 +1135,7 @@ static void kbd_rawcode(unsigned char data)  		put_queue(vc, data);  } -static void kbd_keycode(unsigned int keycode, int down, -			int hw_raw, struct pt_regs *regs) +static void kbd_keycode(unsigned int keycode, int down, int hw_raw)  {  	struct vc_data *vc = vc_cons[fg_console].d;  	unsigned short keysym, *key_map; @@ -1181,7 +1182,7 @@ static void kbd_keycode(unsigned int keycode, int down,  	if (sysrq_down && !down && keycode == sysrq_alt_use)  		sysrq_down = 0;  	if (sysrq_down && down && !rep) { -		handle_sysrq(kbd_sysrq_xlate[keycode], regs, tty); +		handle_sysrq(kbd_sysrq_xlate[keycode], tty);  		return;  	}  #endif @@ -1267,7 +1268,7 @@ static void kbd_keycode(unsigned int keycode, int down,  		}  	} -	(*k_handler[type])(vc, keysym & 0xff, !down, regs); +	(*k_handler[type])(vc, keysym & 0xff, !down);  	if (type != KT_SLOCK)  		kbd->slockstate = 0; @@ -1279,7 +1280,7 @@ static void kbd_event(struct input_handle *handle, unsigned int event_type,  	if (event_type == EV_MSC && event_code == MSC_RAW && HW_RAW(handle->dev))  		kbd_rawcode(value);  	if (event_type == EV_KEY) -		kbd_keycode(event_code, value, HW_RAW(handle->dev), handle->dev->regs); +		kbd_keycode(event_code, value, HW_RAW(handle->dev));  	tasklet_schedule(&keyboard_tasklet);  	do_poke_blanked_console = 1;  	schedule_console_callback(); diff --git a/drivers/char/mbcs.c b/drivers/char/mbcs.c index 63635472265..0afb7ba999c 100644 --- a/drivers/char/mbcs.c +++ b/drivers/char/mbcs.c @@ -516,11 +516,10 @@ 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 - * @ep: regs   *   */  static irqreturn_t -mbcs_completion_intr_handler(int irq, void *arg, struct pt_regs *ep) +mbcs_completion_intr_handler(int irq, 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 1f0f2b6dae2..22b9905c1e5 100644 --- a/drivers/char/mmtimer.c +++ b/drivers/char/mmtimer.c @@ -422,7 +422,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 - * @regs: register state upon receipt of the interrupt   *   * Called when one of the comarators matches the counter, This   * routine will send signals to processes that have requested @@ -433,7 +432,7 @@ static int inline reschedule_periodic_timer(mmtimer_t *x)   * registers.   */  static irqreturn_t -mmtimer_interrupt(int irq, void *dev_id, struct pt_regs *regs) +mmtimer_interrupt(int irq, void *dev_id)  {  	int i;  	unsigned long expires = 0; diff --git a/drivers/char/mwave/tp3780i.c b/drivers/char/mwave/tp3780i.c index cc3e54dd723..f282976daaa 100644 --- a/drivers/char/mwave/tp3780i.c +++ b/drivers/char/mwave/tp3780i.c @@ -95,14 +95,14 @@ static void EnableSRAM(THINKPAD_BD_DATA * pBDData)  } -static irqreturn_t UartInterrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t UartInterrupt(int irq, void *dev_id)  {  	PRINTK_3(TRACE_TP3780I,  		"tp3780i::UartInterrupt entry irq %x dev_id %p\n", irq, dev_id);  	return IRQ_HANDLED;  } -static irqreturn_t DspInterrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t DspInterrupt(int irq, void *dev_id)  {  	pMWAVE_DEVICE_DATA pDrvData = &mwave_s_mdd;  	DSP_3780I_CONFIG_SETTINGS *pSettings = &pDrvData->rBDData.rDspSettings; diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c index 8253fca8efd..048d91142c1 100644 --- a/drivers/char/mxser.c +++ b/drivers/char/mxser.c @@ -407,7 +407,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 *, struct pt_regs *); +static irqreturn_t mxser_interrupt(int, 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); @@ -1916,7 +1916,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, struct pt_regs *regs) +static irqreturn_t mxser_interrupt(int irq, void *dev_id)  {  	int status, iir, i;  	struct mxser_struct *info; diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c index ea1aa7764f8..2d264971d83 100644 --- a/drivers/char/nwbutton.c +++ b/drivers/char/nwbutton.c @@ -144,7 +144,7 @@ static void button_sequence_finished (unsigned long parameters)   *  increments the counter.   */  -static irqreturn_t button_handler (int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t button_handler (int irq, void *dev_id)  {  	if (button_press_count) {  		del_timer (&button_timer); diff --git a/drivers/char/nwbutton.h b/drivers/char/nwbutton.h index ddb7b928dcb..c3ebc16ce8a 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, struct pt_regs *regs); +static irqreturn_t button_handler (int irq, 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/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c index 73e32420991..1a0bc30b79d 100644 --- a/drivers/char/pcmcia/synclink_cs.c +++ b/drivers/char/pcmcia/synclink_cs.c @@ -416,7 +416,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, struct pt_regs * regs); +static irqreturn_t mgslpc_isr(int irq, void *dev_id);  /*   * Bottom half interrupt handlers @@ -1234,9 +1234,8 @@ static void ri_change(MGSLPC_INFO *info)   *    * irq     interrupt number that caused interrupt   * dev_id  device ID supplied during interrupt registration - * regs    interrupted processor context   */ -static irqreturn_t mgslpc_isr(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t mgslpc_isr(int irq, void *dev_id)  {  	MGSLPC_INFO * info = (MGSLPC_INFO *)dev_id;  	unsigned short isr; diff --git a/drivers/char/ppdev.c b/drivers/char/ppdev.c index 520d2cf82bc..efc485edad1 100644 --- a/drivers/char/ppdev.c +++ b/drivers/char/ppdev.c @@ -269,7 +269,7 @@ static ssize_t pp_write (struct file * file, const char __user * buf,  	return bytes_written;  } -static void pp_irq (int irq, void * private, struct pt_regs * unused) +static void pp_irq (int irq, void * private)  {  	struct pp_struct * pp = (struct pp_struct *) private; diff --git a/drivers/char/qtronix.c b/drivers/char/qtronix.c index 9d134e98d2a..5c9477741a3 100644 --- a/drivers/char/qtronix.c +++ b/drivers/char/qtronix.c @@ -93,7 +93,7 @@ struct cir_port *cir;  static unsigned char kbdbytes[5];  static unsigned char cir_data[32]; /* we only need 16 chars */ -static void kbd_int_handler(int irq, void *dev_id, struct pt_regs *regs); +static void kbd_int_handler(int irq, void *dev_id);  static int handle_data(unsigned char *p_data);  static inline void handle_mouse_event(unsigned char scancode);  static inline void handle_keyboard_event(unsigned char scancode, int down); @@ -197,7 +197,7 @@ int CheckSumOk(u_int8_t byte1, u_int8_t byte2,  } -static void kbd_int_handler(int irq, void *dev_id, struct pt_regs *regs) +static void kbd_int_handler(int irq, void *dev_id)  {  	struct cir_port *cir;  	int j; diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c index 202a3b0945b..3bea594600d 100644 --- a/drivers/char/rio/rio_linux.c +++ b/drivers/char/rio/rio_linux.c @@ -363,7 +363,7 @@ static void rio_reset_interrupt(struct Host *HostP)  } -static irqreturn_t rio_interrupt(int irq, void *ptr, struct pt_regs *regs) +static irqreturn_t rio_interrupt(int irq, void *ptr)  {  	struct Host *HostP;  	func_enter(); @@ -417,7 +417,7 @@ static void rio_pollfunc(unsigned long data)  {  	func_enter(); -	rio_interrupt(0, &p->RIOHosts[data], NULL); +	rio_interrupt(0, &p->RIOHosts[data]);  	p->RIOHosts[data].timer.expires = jiffies + rio_poll;  	add_timer(&p->RIOHosts[data].timer); diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c index b0ab3f28cc6..be68cfb0ae6 100644 --- a/drivers/char/riscom8.c +++ b/drivers/char/riscom8.c @@ -550,7 +550,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, struct pt_regs * regs) +static irqreturn_t rc_interrupt(int irq, void * dev_id)  {  	unsigned char status;  	unsigned char ack; diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c index 656f8c0ca52..abee7a33946 100644 --- a/drivers/char/rtc.c +++ b/drivers/char/rtc.c @@ -113,9 +113,9 @@ static int rtc_has_irq = 1;  #define hpet_set_rtc_irq_bit(arg) 		0  #define hpet_rtc_timer_init() 			do { } while (0)  #define hpet_rtc_dropped_irq() 			0 -static inline irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs) {return 0;} +static inline irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id) {return 0;}  #else -extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs); +extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id);  #endif  /* @@ -229,7 +229,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, struct pt_regs *regs) +irqreturn_t rtc_interrupt(int irq, void *dev_id)  {  	/*  	 *	Can be an alarm interrupt, update complete interrupt, @@ -915,7 +915,7 @@ static const struct file_operations rtc_proc_fops = {  };  #if defined(RTC_IRQ) && !defined(__sparc__) -static irqreturn_t (*rtc_int_handler_ptr)(int irq, void *dev_id, struct pt_regs *regs); +static irq_handler_t rtc_int_handler_ptr;  #endif  static int __init rtc_init(void) diff --git a/drivers/char/ser_a2232.c b/drivers/char/ser_a2232.c index 65c751d0d64..4217d38caef 100644 --- a/drivers/char/ser_a2232.c +++ b/drivers/char/ser_a2232.c @@ -111,7 +111,7 @@  /***************************** Prototypes ***************************/  /* The interrupt service routine */ -static irqreturn_t a2232_vbl_inter(int irq, void *data, struct pt_regs *fp); +static irqreturn_t a2232_vbl_inter(int irq, void *data);  /* Initialize the port structures */  static void a2232_init_portstructs(void);  /* Initialize and register TTY drivers. */ @@ -504,7 +504,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, struct pt_regs *fp) +static irqreturn_t a2232_vbl_inter(int irq, 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 f4809c8183c..6f13f98e317 100644 --- a/drivers/char/serial167.c +++ b/drivers/char/serial167.c @@ -370,7 +370,7 @@ cy_sched_event(struct cyclades_port *info, int event)     received, out buffer empty, modem change, etc.   */  static irqreturn_t -cd2401_rxerr_interrupt(int irq, void *dev_id, struct pt_regs *fp) +cd2401_rxerr_interrupt(int irq, void *dev_id)  {      struct tty_struct *tty;      struct cyclades_port *info; @@ -451,7 +451,7 @@ cd2401_rxerr_interrupt(int irq, void *dev_id, struct pt_regs *fp)  } /* cy_rxerr_interrupt */  static irqreturn_t -cd2401_modem_interrupt(int irq, void *dev_id, struct pt_regs *fp) +cd2401_modem_interrupt(int irq, void *dev_id)  {      struct cyclades_port *info;      volatile unsigned char *base_addr = (unsigned char *)BASE_ADDR; @@ -506,7 +506,7 @@ cd2401_modem_interrupt(int irq, void *dev_id, struct pt_regs *fp)  } /* cy_modem_interrupt */  static irqreturn_t -cd2401_tx_interrupt(int irq, void *dev_id, struct pt_regs *fp) +cd2401_tx_interrupt(int irq, void *dev_id)  {      struct cyclades_port *info;      volatile unsigned char *base_addr = (unsigned char *)BASE_ADDR; @@ -626,7 +626,7 @@ cd2401_tx_interrupt(int irq, void *dev_id, struct pt_regs *fp)  } /* cy_tx_interrupt */  static irqreturn_t -cd2401_rx_interrupt(int irq, void *dev_id, struct pt_regs *fp) +cd2401_rx_interrupt(int irq, void *dev_id)  {      struct tty_struct *tty;      struct cyclades_port *info; diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c index 07e0b75f233..52753e723ea 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, struct pt_regs *regs) +scdrv_interrupt(int irq, 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 864854c5886..2f56e8c5489 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, struct pt_regs *regs) +scdrv_event_interrupt(int irq, 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 d4e434d694b..c084149153d 100644 --- a/drivers/char/sonypi.c +++ b/drivers/char/sonypi.c @@ -826,7 +826,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, struct pt_regs *regs) +static irqreturn_t sonypi_irq(int irq, void *dev_id)  {  	u8 v1, v2, event = 0;  	int i, j; diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c index 902c48dca3b..6022495571a 100644 --- a/drivers/char/specialix.c +++ b/drivers/char/specialix.c @@ -200,7 +200,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, struct pt_regs * regs); +static irqreturn_t sx_interrupt(int irq, void * dev_id);  #endif @@ -897,7 +897,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, struct pt_regs *regs) +static irqreturn_t sx_interrupt(int irq, void *dev_id)  {  	unsigned char status;  	unsigned char ack; diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index bd711537ec4..522e88e395c 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c @@ -1927,13 +1927,12 @@ stl_readdone:   *	calls off to the approrpriate board interrupt handlers.   */ -static irqreturn_t stl_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t stl_intr(int irq, void *dev_id)  {  	stlbrd_t	*brdp = (stlbrd_t *) dev_id;  #ifdef DEBUG -	printk("stl_intr(brdp=%x,irq=%d,regs=%x)\n", (int) brdp, irq, -	    (int) regs); +	printk("stl_intr(brdp=%x,irq=%d)\n", (int) brdp, irq);  #endif  	return IRQ_RETVAL((* brdp->isr)(brdp)); diff --git a/drivers/char/sx.c b/drivers/char/sx.c index 8fd71a5fc61..5fec626598c 100644 --- a/drivers/char/sx.c +++ b/drivers/char/sx.c @@ -1192,7 +1192,7 @@ static inline void sx_check_modem_signals (struct sx_port *port)   * Small, elegant, clear.   */ -static irqreturn_t sx_interrupt (int irq, void *ptr, struct pt_regs *regs) +static irqreturn_t sx_interrupt (int irq, void *ptr)  {  	struct sx_board *board = ptr;  	struct sx_port *port; @@ -1300,7 +1300,7 @@ static void sx_pollfunc (unsigned long data)  	func_enter (); -	sx_interrupt (0, board, NULL); +	sx_interrupt (0, board);  	init_timer(&board->timer); diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c index a4150c4519c..f2864cc6424 100644 --- a/drivers/char/synclink.c +++ b/drivers/char/synclink.c @@ -1698,11 +1698,10 @@ static void mgsl_isr_transmit_dma( struct mgsl_struct *info )   *    * 	irq		interrupt number that caused interrupt   * 	dev_id		device ID supplied during interrupt registration - * 	regs		interrupted processor context   * 	   * Return Value: None   */ -static irqreturn_t mgsl_interrupt(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t mgsl_interrupt(int irq, void *dev_id)  {  	struct mgsl_struct * info;  	u16 UscVector; diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c index bdc7cb248b8..d4334c79f8d 100644 --- a/drivers/char/synclink_gt.c +++ b/drivers/char/synclink_gt.c @@ -491,7 +491,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, struct pt_regs * regs); +static irqreturn_t slgt_interrupt(int irq, void *dev_id);  static int  alloc_dma_bufs(struct slgt_info *info);  static void free_dma_bufs(struct slgt_info *info); @@ -2217,9 +2217,8 @@ static void isr_gpio(struct slgt_info *info, unsigned int changed, unsigned int   *   * 	irq	interrupt number   * 	dev_id	device ID supplied during interrupt registration - * 	regs	interrupted processor context   */ -static irqreturn_t slgt_interrupt(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t slgt_interrupt(int irq, void *dev_id)  {  	struct slgt_info *info;  	unsigned int gsr; diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c index 6eb75dcd796..3e932b68137 100644 --- a/drivers/char/synclinkmp.c +++ b/drivers/char/synclinkmp.c @@ -2596,8 +2596,7 @@ void isr_io_pin( SLMP_INFO *info, u16 status )   * 	dev_id		device ID supplied during interrupt registration   * 	regs		interrupted processor context   */ -static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id, -					struct pt_regs *regs) +static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id)  {  	SLMP_INFO * info;  	unsigned char status, status0, status1=0; diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c index 6b4d4d1e343..4c0e0868570 100644 --- a/drivers/char/sysrq.c +++ b/drivers/char/sysrq.c @@ -35,14 +35,14 @@  #include <linux/vt_kern.h>  #include <linux/workqueue.h>  #include <linux/kexec.h> +#include <linux/irq.h>  #include <asm/ptrace.h>  /* Whether we react on sysrq keys or just ignore them */  int sysrq_enabled = 1; -static void sysrq_handle_loglevel(int key, struct pt_regs *pt_regs, -				  struct tty_struct *tty) +static void sysrq_handle_loglevel(int key, struct tty_struct *tty)  {  	int i;  	i = key - '0'; @@ -58,8 +58,7 @@ static struct sysrq_key_op sysrq_loglevel_op = {  };  #ifdef CONFIG_VT -static void sysrq_handle_SAK(int key, struct pt_regs *pt_regs, -			     struct tty_struct *tty) +static void sysrq_handle_SAK(int key, struct tty_struct *tty)  {  	if (tty)  		do_SAK(tty); @@ -76,8 +75,7 @@ static struct sysrq_key_op sysrq_SAK_op = {  #endif  #ifdef CONFIG_VT -static void sysrq_handle_unraw(int key, struct pt_regs *pt_regs, -			       struct tty_struct *tty) +static void sysrq_handle_unraw(int key, struct tty_struct *tty)  {  	struct kbd_struct *kbd = &kbd_table[fg_console]; @@ -95,10 +93,9 @@ static struct sysrq_key_op sysrq_unraw_op = {  #endif /* CONFIG_VT */  #ifdef CONFIG_KEXEC -static void sysrq_handle_crashdump(int key, struct pt_regs *pt_regs, -				struct tty_struct *tty) +static void sysrq_handle_crashdump(int key, struct tty_struct *tty)  { -	crash_kexec(pt_regs); +	crash_kexec(get_irq_regs());  }  static struct sysrq_key_op sysrq_crashdump_op = {  	.handler	= sysrq_handle_crashdump, @@ -110,8 +107,7 @@ static struct sysrq_key_op sysrq_crashdump_op = {  #define sysrq_crashdump_op (*(struct sysrq_key_op *)0)  #endif -static void sysrq_handle_reboot(int key, struct pt_regs *pt_regs, -				struct tty_struct *tty) +static void sysrq_handle_reboot(int key, struct tty_struct *tty)  {  	lockdep_off();  	local_irq_enable(); @@ -124,8 +120,7 @@ static struct sysrq_key_op sysrq_reboot_op = {  	.enable_mask	= SYSRQ_ENABLE_BOOT,  }; -static void sysrq_handle_sync(int key, struct pt_regs *pt_regs, -			      struct tty_struct *tty) +static void sysrq_handle_sync(int key, struct tty_struct *tty)  {  	emergency_sync();  } @@ -136,8 +131,7 @@ static struct sysrq_key_op sysrq_sync_op = {  	.enable_mask	= SYSRQ_ENABLE_SYNC,  }; -static void sysrq_handle_mountro(int key, struct pt_regs *pt_regs, -				 struct tty_struct *tty) +static void sysrq_handle_mountro(int key, struct tty_struct *tty)  {  	emergency_remount();  } @@ -149,8 +143,7 @@ static struct sysrq_key_op sysrq_mountro_op = {  };  #ifdef CONFIG_LOCKDEP -static void sysrq_handle_showlocks(int key, struct pt_regs *pt_regs, -				struct tty_struct *tty) +static void sysrq_handle_showlocks(int key, struct tty_struct *tty)  {  	debug_show_all_locks();  } @@ -164,11 +157,11 @@ static struct sysrq_key_op sysrq_showlocks_op = {  #define sysrq_showlocks_op (*(struct sysrq_key_op *)0)  #endif -static void sysrq_handle_showregs(int key, struct pt_regs *pt_regs, -				  struct tty_struct *tty) +static void sysrq_handle_showregs(int key, struct tty_struct *tty)  { -	if (pt_regs) -		show_regs(pt_regs); +	struct pt_regs *regs = get_irq_regs(); +	if (regs) +		show_regs(regs);  }  static struct sysrq_key_op sysrq_showregs_op = {  	.handler	= sysrq_handle_showregs, @@ -177,8 +170,7 @@ static struct sysrq_key_op sysrq_showregs_op = {  	.enable_mask	= SYSRQ_ENABLE_DUMP,  }; -static void sysrq_handle_showstate(int key, struct pt_regs *pt_regs, -				   struct tty_struct *tty) +static void sysrq_handle_showstate(int key, struct tty_struct *tty)  {  	show_state();  } @@ -189,8 +181,7 @@ static struct sysrq_key_op sysrq_showstate_op = {  	.enable_mask	= SYSRQ_ENABLE_DUMP,  }; -static void sysrq_handle_showmem(int key, struct pt_regs *pt_regs, -				 struct tty_struct *tty) +static void sysrq_handle_showmem(int key, struct tty_struct *tty)  {  	show_mem();  } @@ -215,8 +206,7 @@ static void send_sig_all(int sig)  	}  } -static void sysrq_handle_term(int key, struct pt_regs *pt_regs, -			      struct tty_struct *tty) +static void sysrq_handle_term(int key, struct tty_struct *tty)  {  	send_sig_all(SIGTERM);  	console_loglevel = 8; @@ -236,8 +226,7 @@ static void moom_callback(void *ignored)  static DECLARE_WORK(moom_work, moom_callback, NULL); -static void sysrq_handle_moom(int key, struct pt_regs *pt_regs, -			      struct tty_struct *tty) +static void sysrq_handle_moom(int key, struct tty_struct *tty)  {  	schedule_work(&moom_work);  } @@ -247,8 +236,7 @@ static struct sysrq_key_op sysrq_moom_op = {  	.action_msg	= "Manual OOM execution",  }; -static void sysrq_handle_kill(int key, struct pt_regs *pt_regs, -			      struct tty_struct *tty) +static void sysrq_handle_kill(int key, struct tty_struct *tty)  {  	send_sig_all(SIGKILL);  	console_loglevel = 8; @@ -260,8 +248,7 @@ static struct sysrq_key_op sysrq_kill_op = {  	.enable_mask	= SYSRQ_ENABLE_SIGNAL,  }; -static void sysrq_handle_unrt(int key, struct pt_regs *pt_regs, -				struct tty_struct *tty) +static void sysrq_handle_unrt(int key, struct tty_struct *tty)  {  	normalize_rt_tasks();  } @@ -361,8 +348,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)   * This is the non-locking version of handle_sysrq.  It must/can only be called   * by sysrq key handlers, as they are inside of the lock   */ -void __handle_sysrq(int key, struct pt_regs *pt_regs, struct tty_struct *tty, -			int check_mask) +void __handle_sysrq(int key, struct tty_struct *tty, int check_mask)  {  	struct sysrq_key_op *op_p;  	int orig_log_level; @@ -384,7 +370,7 @@ void __handle_sysrq(int key, struct pt_regs *pt_regs, struct tty_struct *tty,  		    (sysrq_enabled & op_p->enable_mask)) {  			printk("%s\n", op_p->action_msg);  			console_loglevel = orig_log_level; -			op_p->handler(key, pt_regs, tty); +			op_p->handler(key, tty);  		} else {  			printk("This sysrq operation is disabled.\n");  		} @@ -413,11 +399,11 @@ void __handle_sysrq(int key, struct pt_regs *pt_regs, struct tty_struct *tty,   * This function is called by the keyboard handler when SysRq is pressed   * and any other keycode arrives.   */ -void handle_sysrq(int key, struct pt_regs *pt_regs, struct tty_struct *tty) +void handle_sysrq(int key, struct tty_struct *tty)  {  	if (!sysrq_enabled)  		return; -	__handle_sysrq(key, pt_regs, tty, 1); +	__handle_sysrq(key, tty, 1);  }  EXPORT_SYMBOL(handle_sysrq); diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c index d2c5ba4e83b..2444a0e24b3 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, struct pt_regs *regs); +static irqreturn_t tlclk_interrupt(int irq, void *dev_id);  static DECLARE_WAIT_QUEUE_HEAD(wq); @@ -856,7 +856,7 @@ static void switchover_timeout(unsigned long data)  	wake_up(&wq);  } -static irqreturn_t tlclk_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t tlclk_interrupt(int irq, void *dev_id)  {  	unsigned long flags; diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c index ee7ac6f43c6..483f3f60013 100644 --- a/drivers/char/tpm/tpm_tis.c +++ b/drivers/char/tpm/tpm_tis.c @@ -377,7 +377,7 @@ static struct tpm_vendor_specific tpm_tis = {  		    .fops = &tis_ops,},  }; -static irqreturn_t tis_int_probe(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t tis_int_probe(int irq, void *dev_id)  {  	struct tpm_chip *chip = (struct tpm_chip *) dev_id;  	u32 interrupt; @@ -397,7 +397,7 @@ static irqreturn_t tis_int_probe(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t tis_int_handler(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t tis_int_handler(int irq, void *dev_id)  {  	struct tpm_chip *chip = (struct tpm_chip *) dev_id;  	u32 interrupt; diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c index c2ca31eb850..0cdbaa70cf9 100644 --- a/drivers/char/vme_scc.c +++ b/drivers/char/vme_scc.c @@ -81,10 +81,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, struct pt_regs *fp); -static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp); -static irqreturn_t scc_stat_int(int irq, void *data, struct pt_regs *fp); -static irqreturn_t scc_spcond_int(int irq, void *data, struct pt_regs *fp); +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 void scc_setsignals(struct scc_port *port, int dtr, int rts);  static void scc_break_ctl(struct tty_struct *tty, int break_state); @@ -419,7 +419,7 @@ module_init(vme_scc_init);   * Interrupt handlers   *--------------------------------------------------------------------------*/ -static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp) +static irqreturn_t scc_rx_int(int irq, void *data)  {  	unsigned char	ch;  	struct scc_port *port = data; @@ -440,7 +440,7 @@ static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp)  	 */  	if (SCCread(INT_PENDING_REG) &  	    (port->channel == CHANNEL_A ? IPR_A_RX : IPR_B_RX)) { -		scc_spcond_int (irq, data, fp); +		scc_spcond_int (irq, data);  		return IRQ_HANDLED;  	} @@ -451,7 +451,7 @@ static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp)  } -static irqreturn_t scc_spcond_int(int irq, void *data, struct pt_regs *fp) +static irqreturn_t scc_spcond_int(int irq, void *data)  {  	struct scc_port *port = data;  	struct tty_struct *tty = port->gs.tty; @@ -496,7 +496,7 @@ static irqreturn_t scc_spcond_int(int irq, void *data, struct pt_regs *fp)  } -static irqreturn_t scc_tx_int(int irq, void *data, struct pt_regs *fp) +static irqreturn_t scc_tx_int(int irq, void *data)  {  	struct scc_port *port = data;  	SCC_ACCESS_INIT(port); @@ -538,7 +538,7 @@ static irqreturn_t scc_tx_int(int irq, void *data, struct pt_regs *fp)  } -static irqreturn_t scc_stat_int(int irq, void *data, struct pt_regs *fp) +static irqreturn_t scc_stat_int(int irq, void *data)  {  	struct scc_port *port = data;  	unsigned channel = port->channel; diff --git a/drivers/char/vr41xx_giu.c b/drivers/char/vr41xx_giu.c index 8116a47b80f..8e794930517 100644 --- a/drivers/char/vr41xx_giu.c +++ b/drivers/char/vr41xx_giu.c @@ -221,7 +221,7 @@ static struct hw_interrupt_type giuint_high_irq_type = {  	.end		= end_giuint_high_irq,  }; -static int giu_get_irq(unsigned int irq, struct pt_regs *regs) +static int giu_get_irq(unsigned int irq)  {  	uint16_t pendl, pendh, maskl, maskh;  	int i; diff --git a/drivers/char/watchdog/eurotechwdt.c b/drivers/char/watchdog/eurotechwdt.c index 4f4269754c4..e228d6e173c 100644 --- a/drivers/char/watchdog/eurotechwdt.c +++ b/drivers/char/watchdog/eurotechwdt.c @@ -153,7 +153,7 @@ static void eurwdt_activate_timer(void)   * Kernel methods.   */ -static irqreturn_t eurwdt_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t eurwdt_interrupt(int irq, void *dev_id)  {  	printk(KERN_CRIT "timeout WDT timeout\n"); diff --git a/drivers/char/watchdog/mpcore_wdt.c b/drivers/char/watchdog/mpcore_wdt.c index 02d336ace50..3404a9c67f0 100644 --- a/drivers/char/watchdog/mpcore_wdt.c +++ b/drivers/char/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, struct pt_regs *regs) +static irqreturn_t mpcore_wdt_fire(int irq, void *arg)  {  	struct mpcore_wdt *wdt = arg; diff --git a/drivers/char/watchdog/pcwd_usb.c b/drivers/char/watchdog/pcwd_usb.c index 77662cb0ac4..bda45334d80 100644 --- a/drivers/char/watchdog/pcwd_usb.c +++ b/drivers/char/watchdog/pcwd_usb.c @@ -158,7 +158,7 @@ static struct usb_driver usb_pcwd_driver = {  }; -static void usb_pcwd_intr_done(struct urb *urb, struct pt_regs *regs) +static void usb_pcwd_intr_done(struct urb *urb)  {  	struct usb_pcwd_private *usb_pcwd = (struct usb_pcwd_private *)urb->context;  	unsigned char *data = usb_pcwd->intr_buffer; diff --git a/drivers/char/watchdog/s3c2410_wdt.c b/drivers/char/watchdog/s3c2410_wdt.c index b36a04ae9ab..68b1ca976d5 100644 --- a/drivers/char/watchdog/s3c2410_wdt.c +++ b/drivers/char/watchdog/s3c2410_wdt.c @@ -336,8 +336,7 @@ static struct miscdevice s3c2410wdt_miscdev = {  /* interrupt handler code */ -static irqreturn_t s3c2410wdt_irq(int irqno, void *param, -				  struct pt_regs *regs) +static irqreturn_t s3c2410wdt_irq(int irqno, void *param)  {  	printk(KERN_INFO PFX "Watchdog timer expired!\n"); diff --git a/drivers/char/watchdog/wdt.c b/drivers/char/watchdog/wdt.c index 13f23f4a223..517fbd8643f 100644 --- a/drivers/char/watchdog/wdt.c +++ b/drivers/char/watchdog/wdt.c @@ -225,14 +225,13 @@ static int wdt_get_temperature(int *temperature)   *	wdt_interrupt:   *	@irq:		Interrupt number   *	@dev_id:	Unused as we don't allow multiple devices. - *	@regs:		Unused.   *   *	Handle an interrupt from the board. These are raised when the status   *	map changes in what the board considers an interesting way. That means   *	a failure condition occurring.   */ -static irqreturn_t wdt_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t wdt_interrupt(int irq, void *dev_id)  {  	/*  	 *	Read the status register see what is up and diff --git a/drivers/char/watchdog/wdt285.c b/drivers/char/watchdog/wdt285.c index 89a249e23fd..e4cf661dc89 100644 --- a/drivers/char/watchdog/wdt285.c +++ b/drivers/char/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, struct pt_regs *regs) +static void watchdog_fire(int irq, void *dev_id)  {  	printk(KERN_CRIT "Watchdog: Would Reboot.\n");  	*CSR_TIMER4_CNTL = 0; diff --git a/drivers/char/watchdog/wdt_pci.c b/drivers/char/watchdog/wdt_pci.c index 74d8cf836e1..ce1261c5cbc 100644 --- a/drivers/char/watchdog/wdt_pci.c +++ b/drivers/char/watchdog/wdt_pci.c @@ -270,14 +270,13 @@ static int wdtpci_get_temperature(int *temperature)   *	wdtpci_interrupt:   *	@irq:		Interrupt number   *	@dev_id:	Unused as we don't allow multiple devices. - *	@regs:		Unused.   *   *	Handle an interrupt from the board. These are raised when the status   *	map changes in what the board considers an interesting way. That means   *	a failure condition occurring.   */ -static irqreturn_t wdtpci_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t wdtpci_interrupt(int irq, void *dev_id)  {  	/*  	 *	Read the status register see what is up and diff --git a/drivers/dma/ioatdma.c b/drivers/dma/ioatdma.c index dbd4d6c3698..f3bf1e230bc 100644 --- a/drivers/dma/ioatdma.c +++ b/drivers/dma/ioatdma.c @@ -563,7 +563,7 @@ static struct pci_driver ioat_pci_drv = {  	.remove	= __devexit_p(ioat_remove),  }; -static irqreturn_t ioat_do_interrupt(int irq, void *data, struct pt_regs *regs) +static irqreturn_t ioat_do_interrupt(int irq, void *data)  {  	struct ioat_device *instance = data;  	unsigned long attnstatus; diff --git a/drivers/fc4/soc.c b/drivers/fc4/soc.c index 3b07e0ca81c..b09dfc78e5a 100644 --- a/drivers/fc4/soc.c +++ b/drivers/fc4/soc.c @@ -334,7 +334,7 @@ update_out:  	}  } -static irqreturn_t soc_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t soc_intr(int irq, void *dev_id)  {  	u32 cmd;  	unsigned long flags; diff --git a/drivers/fc4/socal.c b/drivers/fc4/socal.c index 2b75edc5859..a6b1ae256e1 100644 --- a/drivers/fc4/socal.c +++ b/drivers/fc4/socal.c @@ -404,7 +404,7 @@ update_out:  	}  } -static irqreturn_t socal_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t socal_intr(int irq, void *dev_id)  {  	u32 cmd;  	unsigned long flags; diff --git a/drivers/i2c/busses/i2c-elektor.c b/drivers/i2c/busses/i2c-elektor.c index caa8e5c8bfb..a591fe685f0 100644 --- a/drivers/i2c/busses/i2c-elektor.c +++ b/drivers/i2c/busses/i2c-elektor.c @@ -131,7 +131,7 @@ static void pcf_isa_waitforpin(void) {  } -static irqreturn_t pcf_isa_handler(int this_irq, void *dev_id, struct pt_regs *regs) { +static irqreturn_t pcf_isa_handler(int this_irq, 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 80d4ba1bdfe..781a99c1647 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, struct pt_regs *regs) +static irqreturn_t iic_handler(int irq, 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 4436c89be58..d108ab4974c 100644 --- a/drivers/i2c/busses/i2c-iop3xx.c +++ b/drivers/i2c/busses/i2c-iop3xx.c @@ -120,7 +120,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, struct pt_regs *regs)  +iop3xx_i2c_irq_handler(int this_irq, 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-ite.c b/drivers/i2c/busses/i2c-ite.c index 559a62b04ee..f7d71869b3b 100644 --- a/drivers/i2c/busses/i2c-ite.c +++ b/drivers/i2c/busses/i2c-ite.c @@ -140,8 +140,7 @@ static void iic_ite_waitforpin(void) {  } -static irqreturn_t iic_ite_handler(int this_irq, void *dev_id, -							struct pt_regs *regs) +static irqreturn_t iic_ite_handler(int this_irq, void *dev_id)  {  	spin_lock(&lock);  	iic_pending = 1; diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index 155a986de51..ee65aa1be13 100644 --- a/drivers/i2c/busses/i2c-mpc.c +++ b/drivers/i2c/busses/i2c-mpc.c @@ -63,7 +63,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, struct pt_regs *regs) +static irqreturn_t mpc_i2c_isr(int irq, 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 eacbaf745b6..bbc8e3a7ff5 100644 --- a/drivers/i2c/busses/i2c-mv64xxx.c +++ b/drivers/i2c/busses/i2c-mv64xxx.c @@ -278,7 +278,7 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)  }  static int -mv64xxx_i2c_intr(int irq, void *dev_id, struct pt_regs *regs) +mv64xxx_i2c_intr(int irq, 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 3e276e958ef..f28a76d1c0a 100644 --- a/drivers/i2c/busses/i2c-ocores.c +++ b/drivers/i2c/busses/i2c-ocores.c @@ -143,7 +143,7 @@ static void ocores_process(struct ocores_i2c *i2c)  	}  } -static irqreturn_t ocores_isr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ocores_isr(int irq, 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 81d87d2c2a2..dec04da0455 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, struct pt_regs *regs) +omap_i2c_rev1_isr(int this_irq, void *dev_id)  {  	struct omap_i2c_dev *dev = dev_id;  	u16 iv, w; @@ -452,7 +452,7 @@ omap_i2c_rev1_isr(int this_irq, void *dev_id, struct pt_regs *regs)  }  static irqreturn_t -omap_i2c_isr(int this_irq, void *dev_id, struct pt_regs *regs) +omap_i2c_isr(int this_irq, void *dev_id)  {  	struct omap_i2c_dev *dev = dev_id;  	u16 bits; diff --git a/drivers/i2c/busses/i2c-pca-isa.c b/drivers/i2c/busses/i2c-pca-isa.c index d9b4ddbad7e..407840b6a26 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, struct pt_regs *regs) { +static irqreturn_t pca_handler(int this_irq, 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 cd4ad98ad51..81050d3c9b2 100644 --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c @@ -850,7 +850,7 @@ static void i2c_pxa_irq_rxfull(struct pxa_i2c *i2c, u32 isr)  	ICR = icr;  } -static irqreturn_t i2c_pxa_handler(int this_irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t i2c_pxa_handler(int this_irq, void *dev_id)  {  	struct pxa_i2c *i2c = dev_id;  	u32 isr = ISR; diff --git a/drivers/i2c/busses/i2c-rpx.c b/drivers/i2c/busses/i2c-rpx.c index 0ebec3c1a54..8764df06f51 100644 --- a/drivers/i2c/busses/i2c-rpx.c +++ b/drivers/i2c/busses/i2c-rpx.c @@ -55,10 +55,10 @@ rpx_iic_init(struct i2c_algo_8xx_data *data)  	data->i2c = (i2c8xx_t *)&(((immap_t *)IMAP_ADDR)->im_i2c);  } -static int rpx_install_isr(int irq, void (*func)(void *, void *), void *data) +static int rpx_install_isr(int irq, void (*func)(void *), void *data)  {  	/* install interrupt handler */ -	cpm_install_handler(irq, (void (*)(void *, struct pt_regs *)) func, data); +	cpm_install_handler(irq, func, data);  	return 0;  } diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c index 9ebe429a0a0..4ca6de209b8 100644 --- a/drivers/i2c/busses/i2c-s3c2410.c +++ b/drivers/i2c/busses/i2c-s3c2410.c @@ -423,8 +423,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, -				   struct pt_regs *regs) +static irqreturn_t s3c24xx_i2c_irq(int irqno, 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 182f0495346..ccdf3e90862 100644 --- a/drivers/i2c/chips/isp1301_omap.c +++ b/drivers/i2c/chips/isp1301_omap.c @@ -669,7 +669,7 @@ pulldown:  	dump_regs(isp, "otg->isp1301");  } -static irqreturn_t omap_otg_irq(int irq, void *_isp, struct pt_regs *regs) +static irqreturn_t omap_otg_irq(int irq, void *_isp)  {  	u16		otg_irq = OTG_IRQ_SRC_REG;  	u32		otg_ctrl; @@ -1181,7 +1181,7 @@ isp1301_work(void *data)  	isp->working = 0;  } -static irqreturn_t isp1301_irq(int irq, void *isp, struct pt_regs *regs) +static irqreturn_t isp1301_irq(int irq, void *isp)  {  	isp1301_defer_work(isp, WORK_UPDATE_OTG);  	return IRQ_HANDLED; diff --git a/drivers/i2c/chips/tps65010.c b/drivers/i2c/chips/tps65010.c index 6a757821717..60bef94cd25 100644 --- a/drivers/i2c/chips/tps65010.c +++ b/drivers/i2c/chips/tps65010.c @@ -446,7 +446,7 @@ static void tps65010_work(void *_tps)  	mutex_unlock(&tps->lock);  } -static irqreturn_t tps65010_irq(int irq, void *_tps, struct pt_regs *regs) +static irqreturn_t tps65010_irq(int irq, void *_tps)  {  	struct tps65010		*tps = _tps; diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index ba6039b55b4..2614f41b507 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c @@ -1562,7 +1562,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, struct pt_regs *regs) +irqreturn_t ide_intr (int irq, void *dev_id)  {  	unsigned long flags;  	ide_hwgroup_t *hwgroup = (ide_hwgroup_t *)dev_id; diff --git a/drivers/ide/legacy/hd.c b/drivers/ide/legacy/hd.c index 4ab93114567..b1d5291531b 100644 --- a/drivers/ide/legacy/hd.c +++ b/drivers/ide/legacy/hd.c @@ -673,7 +673,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, struct pt_regs *regs) +static irqreturn_t hd_interrupt(int irq, void *dev_id)  {  	void (*handler)(void) = do_hd; diff --git a/drivers/ide/legacy/macide.c b/drivers/ide/legacy/macide.c index d655da74914..b1730d7e414 100644 --- a/drivers/ide/legacy/macide.c +++ b/drivers/ide/legacy/macide.c @@ -78,7 +78,7 @@ int macide_ack_intr(ide_hwif_t* hwif)  }  #ifdef CONFIG_BLK_DEV_MAC_MEDIABAY -static void macide_mediabay_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static void macide_mediabay_interrupt(int irq, void *dev_id)  {  	int state = baboon->mb_status & 0x04; diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c index 8fd0030475b..dea13525df8 100644 --- a/drivers/ieee1394/ohci1394.c +++ b/drivers/ieee1394/ohci1394.c @@ -2301,8 +2301,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, -                             struct pt_regs *regs_are_unused) +static irqreturn_t ohci_irq_handler(int irq, 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 b4f146f2c95..0a7412e27eb 100644 --- a/drivers/ieee1394/pcilynx.c +++ b/drivers/ieee1394/pcilynx.c @@ -839,8 +839,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, -                             struct pt_regs *regs_are_unused) +static irqreturn_t lynx_irq_handler(int irq, 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 9e9120f3601..dc1ebeac35c 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, struct pt_regs *regs); +static irqreturn_t c2_interrupt(int irq, 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, struct pt_regs *regs) +static irqreturn_t c2_interrupt(int irq, 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 2a65b5be197..048cc443d1e 100644 --- a/drivers/infiniband/hw/ehca/ehca_irq.c +++ b/drivers/infiniband/hw/ehca/ehca_irq.c @@ -360,7 +360,7 @@ static inline void reset_eq_pending(struct ehca_cq *cq)  	return;  } -irqreturn_t ehca_interrupt_neq(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t ehca_interrupt_neq(int irq, void *dev_id)  {  	struct ehca_shca *shca = (struct ehca_shca*)dev_id; @@ -393,7 +393,7 @@ void ehca_tasklet_neq(unsigned long data)  	return;  } -irqreturn_t ehca_interrupt_eq(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t ehca_interrupt_eq(int irq, 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 85bf1fe16fe..be579cc0adf 100644 --- a/drivers/infiniband/hw/ehca/ehca_irq.h +++ b/drivers/infiniband/hw/ehca/ehca_irq.h @@ -51,10 +51,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, struct pt_regs *regs); +irqreturn_t ehca_interrupt_neq(int irq, void *dev_id);  void ehca_tasklet_neq(unsigned long data); -irqreturn_t ehca_interrupt_eq(int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t ehca_interrupt_eq(int irq, void *dev_id);  void ehca_tasklet_eq(unsigned long data);  struct ehca_cpu_comp_task { diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c index 6bee53ce5f3..d9079ee1203 100644 --- a/drivers/infiniband/hw/ipath/ipath_intr.c +++ b/drivers/infiniband/hw/ipath/ipath_intr.c @@ -839,7 +839,7 @@ static void handle_urcv(struct ipath_devdata *dd, u32 istat)  	}  } -irqreturn_t ipath_intr(int irq, void *data, struct pt_regs *regs) +irqreturn_t ipath_intr(int irq, 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 d7540b71b45..7c436697d0e 100644 --- a/drivers/infiniband/hw/ipath/ipath_kernel.h +++ b/drivers/infiniband/hw/ipath/ipath_kernel.h @@ -606,7 +606,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, struct pt_regs *regs); +irqreturn_t ipath_intr(int irq, void *devid);  void 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 a29b1b6d82b..e284e0613a9 100644 --- a/drivers/infiniband/hw/mthca/mthca_eq.c +++ b/drivers/infiniband/hw/mthca/mthca_eq.c @@ -405,7 +405,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, struct pt_regs *regs) +static irqreturn_t mthca_tavor_interrupt(int irq, void *dev_ptr)  {  	struct mthca_dev *dev = dev_ptr;  	u32 ecr; @@ -432,8 +432,7 @@ static irqreturn_t mthca_tavor_interrupt(int irq, void *dev_ptr, struct pt_regs  	return IRQ_HANDLED;  } -static irqreturn_t mthca_tavor_msi_x_interrupt(int irq, void *eq_ptr, -					 struct pt_regs *regs) +static irqreturn_t mthca_tavor_msi_x_interrupt(int irq, void *eq_ptr)  {  	struct mthca_eq  *eq  = eq_ptr;  	struct mthca_dev *dev = eq->dev; @@ -446,7 +445,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, struct pt_regs *regs) +static irqreturn_t mthca_arbel_interrupt(int irq, void *dev_ptr)  {  	struct mthca_dev *dev = dev_ptr;  	int work = 0; @@ -467,8 +466,7 @@ static irqreturn_t mthca_arbel_interrupt(int irq, void *dev_ptr, struct pt_regs  	return IRQ_RETVAL(work);  } -static irqreturn_t mthca_arbel_msi_x_interrupt(int irq, void *eq_ptr, -					       struct pt_regs *regs) +static irqreturn_t mthca_arbel_msi_x_interrupt(int irq, 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 7249d324297..650acf3a30b 100644 --- a/drivers/input/joystick/amijoy.c +++ b/drivers/input/joystick/amijoy.c @@ -57,7 +57,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, struct pt_regs *fp) +static irqreturn_t amijoy_interrupt(int irq, void *dummy)  {  	int i, data = 0, button = 0; @@ -69,8 +69,6 @@ static irqreturn_t amijoy_interrupt(int irq, void *dummy, struct pt_regs *fp)  				case 1: data = ~amiga_custom.joy1dat; button = (~ciaa.pra >> 7) & 1; break;  			} -			input_regs(amijoy_dev[i], fp); -  			input_report_key(amijoy_dev[i], BTN_TRIGGER, button);  			input_report_abs(amijoy_dev[i], ABS_X, ((data >> 1) & 1) - ((data >> 9) & 1)); diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c index 8632d47a7fb..808f05932a6 100644 --- a/drivers/input/joystick/iforce/iforce-packets.c +++ b/drivers/input/joystick/iforce/iforce-packets.c @@ -155,7 +155,7 @@ static int mark_core_as_ready(struct iforce *iforce, unsigned short addr)  	return -1;  } -void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data, struct pt_regs *regs) +void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data)  {  	struct input_dev *dev = iforce->dev;  	int i; @@ -183,9 +183,6 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data,  		case 0x01:	/* joystick position data */  		case 0x03:	/* wheel position data */ - -			input_regs(dev, regs); -  			if (HI(cmd) == 1) {  				input_report_abs(dev, ABS_X, (__s16) (((__s16)data[1] << 8) | data[0]));  				input_report_abs(dev, ABS_Y, (__s16) (((__s16)data[3] << 8) | data[2])); @@ -224,7 +221,6 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data,  			break;  		case 0x02:	/* status report */ -			input_regs(dev, regs);  			input_report_key(dev, BTN_DEAD, data[0] & 0x02);  			input_sync(dev); diff --git a/drivers/input/joystick/iforce/iforce-serio.c b/drivers/input/joystick/iforce/iforce-serio.c index 64a78c51548..ca08f45c204 100644 --- a/drivers/input/joystick/iforce/iforce-serio.c +++ b/drivers/input/joystick/iforce/iforce-serio.c @@ -81,7 +81,7 @@ static void iforce_serio_write_wakeup(struct serio *serio)  }  static irqreturn_t iforce_serio_irq(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct iforce *iforce = serio_get_drvdata(serio); @@ -115,7 +115,7 @@ static irqreturn_t iforce_serio_irq(struct serio *serio,  	}  	if (iforce->idx == iforce->len) { -		iforce_process_packet(iforce, (iforce->id << 8) | iforce->idx, iforce->data, regs); +		iforce_process_packet(iforce, (iforce->id << 8) | iforce->idx, iforce->data);  		iforce->pkt = 0;  		iforce->id  = 0;  		iforce->len = 0; diff --git a/drivers/input/joystick/iforce/iforce-usb.c b/drivers/input/joystick/iforce/iforce-usb.c index fe79d158456..105112fb7b5 100644 --- a/drivers/input/joystick/iforce/iforce-usb.c +++ b/drivers/input/joystick/iforce/iforce-usb.c @@ -74,7 +74,7 @@ void iforce_usb_xmit(struct iforce *iforce)  	spin_unlock_irqrestore(&iforce->xmit_lock, flags);  } -static void iforce_usb_irq(struct urb *urb, struct pt_regs *regs) +static void iforce_usb_irq(struct urb *urb)  {  	struct iforce *iforce = urb->context;  	int status; @@ -96,7 +96,7 @@ static void iforce_usb_irq(struct urb *urb, struct pt_regs *regs)  	}  	iforce_process_packet(iforce, -		(iforce->data[0] << 8) | (urb->actual_length - 1), iforce->data + 1, regs); +		(iforce->data[0] << 8) | (urb->actual_length - 1), iforce->data + 1);  exit:  	status = usb_submit_urb (urb, GFP_ATOMIC); @@ -105,7 +105,7 @@ exit:  		     __FUNCTION__, status);  } -static void iforce_usb_out(struct urb *urb, struct pt_regs *regs) +static void iforce_usb_out(struct urb *urb)  {  	struct iforce *iforce = urb->context; @@ -119,7 +119,7 @@ static void iforce_usb_out(struct urb *urb, struct pt_regs *regs)  	wake_up(&iforce->wait);  } -static void iforce_usb_ctrl(struct urb *urb, struct pt_regs *regs) +static void iforce_usb_ctrl(struct urb *urb)  {  	struct iforce *iforce = urb->context;  	if (urb->status) return; diff --git a/drivers/input/joystick/iforce/iforce.h b/drivers/input/joystick/iforce/iforce.h index 947df273984..ffaeaefa1a4 100644 --- a/drivers/input/joystick/iforce/iforce.h +++ b/drivers/input/joystick/iforce/iforce.h @@ -160,7 +160,7 @@ void iforce_delete_device(struct iforce *iforce);  /* iforce-packets.c */  int iforce_control_playback(struct iforce*, u16 id, unsigned int); -void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data, struct pt_regs *regs); +void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data);  int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data);  void iforce_dump_packet(char *msg, u16 cmd, unsigned char *data) ;  int iforce_get_id_packet(struct iforce *iforce, char *packet); diff --git a/drivers/input/joystick/magellan.c b/drivers/input/joystick/magellan.c index 168b1061a03..e3d19444ba2 100644 --- a/drivers/input/joystick/magellan.c +++ b/drivers/input/joystick/magellan.c @@ -82,7 +82,7 @@ static int magellan_crunch_nibbles(unsigned char *data, int count)  	return 0;  } -static void magellan_process_packet(struct magellan* magellan, struct pt_regs *regs) +static void magellan_process_packet(struct magellan* magellan)  {  	struct input_dev *dev = magellan->dev;  	unsigned char *data = magellan->data; @@ -90,8 +90,6 @@ static void magellan_process_packet(struct magellan* magellan, struct pt_regs *r  	if (!magellan->idx) return; -	input_regs(dev, regs); -  	switch (magellan->data[0]) {  		case 'd':				/* Axis data */ @@ -115,12 +113,12 @@ static void magellan_process_packet(struct magellan* magellan, struct pt_regs *r  }  static irqreturn_t magellan_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct magellan* magellan = serio_get_drvdata(serio);  	if (data == '\r') { -		magellan_process_packet(magellan, regs); +		magellan_process_packet(magellan);  		magellan->idx = 0;  	} else {  		if (magellan->idx < MAGELLAN_MAX_LENGTH) diff --git a/drivers/input/joystick/spaceball.c b/drivers/input/joystick/spaceball.c index 7a19ee05297..2a9808cf826 100644 --- a/drivers/input/joystick/spaceball.c +++ b/drivers/input/joystick/spaceball.c @@ -82,7 +82,7 @@ struct spaceball {   * SpaceBall.   */ -static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs *regs) +static void spaceball_process_packet(struct spaceball* spaceball)  {  	struct input_dev *dev = spaceball->dev;  	unsigned char *data = spaceball->data; @@ -90,8 +90,6 @@ static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs  	if (spaceball->idx < 2) return; -	input_regs(dev, regs); -  	switch (spaceball->data[0]) {  		case 'D':					/* Ball data */ @@ -151,13 +149,13 @@ static void spaceball_process_packet(struct spaceball* spaceball, struct pt_regs   */  static irqreturn_t spaceball_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct spaceball *spaceball = serio_get_drvdata(serio);  	switch (data) {  		case 0xd: -			spaceball_process_packet(spaceball, regs); +			spaceball_process_packet(spaceball);  			spaceball->idx = 0;  			spaceball->escape = 0;  			break; diff --git a/drivers/input/joystick/spaceorb.c b/drivers/input/joystick/spaceorb.c index 3e2782e7983..c4db0247c5f 100644 --- a/drivers/input/joystick/spaceorb.c +++ b/drivers/input/joystick/spaceorb.c @@ -74,7 +74,7 @@ static unsigned char *spaceorb_errors[] = { "EEPROM storing 0 failed", "Receive   * SpaceOrb.   */ -static void spaceorb_process_packet(struct spaceorb *spaceorb, struct pt_regs *regs) +static void spaceorb_process_packet(struct spaceorb *spaceorb)  {  	struct input_dev *dev = spaceorb->dev;  	unsigned char *data = spaceorb->data; @@ -86,8 +86,6 @@ static void spaceorb_process_packet(struct spaceorb *spaceorb, struct pt_regs *r  	for (i = 0; i < spaceorb->idx; i++) c ^= data[i];  	if (c) return; -	input_regs(dev, regs); -  	switch (data[0]) {  		case 'R':				/* Reset packet */ @@ -131,12 +129,12 @@ static void spaceorb_process_packet(struct spaceorb *spaceorb, struct pt_regs *r  }  static irqreturn_t spaceorb_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct spaceorb* spaceorb = serio_get_drvdata(serio);  	if (~data & 0x80) { -		if (spaceorb->idx) spaceorb_process_packet(spaceorb, regs); +		if (spaceorb->idx) spaceorb_process_packet(spaceorb);  		spaceorb->idx = 0;  	}  	if (spaceorb->idx < SPACEORB_MAX_LENGTH) diff --git a/drivers/input/joystick/stinger.c b/drivers/input/joystick/stinger.c index 011ec4858e1..1ffb0322331 100644 --- a/drivers/input/joystick/stinger.c +++ b/drivers/input/joystick/stinger.c @@ -64,15 +64,13 @@ struct stinger {   * Stinger. It updates the data accordingly.   */ -static void stinger_process_packet(struct stinger *stinger, struct pt_regs *regs) +static void stinger_process_packet(struct stinger *stinger)  {  	struct input_dev *dev = stinger->dev;  	unsigned char *data = stinger->data;  	if (!stinger->idx) return; -	input_regs(dev, regs); -  	input_report_key(dev, BTN_A,	  ((data[0] & 0x20) >> 5));  	input_report_key(dev, BTN_B,	  ((data[0] & 0x10) >> 4));  	input_report_key(dev, BTN_C,	  ((data[0] & 0x08) >> 3)); @@ -99,7 +97,7 @@ static void stinger_process_packet(struct stinger *stinger, struct pt_regs *regs   */  static irqreturn_t stinger_interrupt(struct serio *serio, -	unsigned char data, unsigned int flags, struct pt_regs *regs) +	unsigned char data, unsigned int flags)  {  	struct stinger *stinger = serio_get_drvdata(serio); @@ -109,7 +107,7 @@ static irqreturn_t stinger_interrupt(struct serio *serio,  		stinger->data[stinger->idx++] = data;  	if (stinger->idx == 4) { -		stinger_process_packet(stinger, regs); +		stinger_process_packet(stinger);  		stinger->idx = 0;  	} diff --git a/drivers/input/joystick/twidjoy.c b/drivers/input/joystick/twidjoy.c index 076f237d965..49085df2d63 100644 --- a/drivers/input/joystick/twidjoy.c +++ b/drivers/input/joystick/twidjoy.c @@ -104,7 +104,7 @@ struct twidjoy {   * Twiddler. It updates the data accordingly.   */ -static void twidjoy_process_packet(struct twidjoy *twidjoy, struct pt_regs *regs) +static void twidjoy_process_packet(struct twidjoy *twidjoy)  {  	struct input_dev *dev = twidjoy->dev;  	unsigned char *data = twidjoy->data; @@ -113,8 +113,6 @@ static void twidjoy_process_packet(struct twidjoy *twidjoy, struct pt_regs *regs  	button_bits = ((data[1] & 0x7f) << 7) | (data[0] & 0x7f); -	input_regs(dev, regs); -  	for (bp = twidjoy_buttons; bp->bitmask; bp++) {  		int value = (button_bits & (bp->bitmask << bp->bitshift)) >> bp->bitshift;  		int i; @@ -141,7 +139,7 @@ static void twidjoy_process_packet(struct twidjoy *twidjoy, struct pt_regs *regs   * packet processing routine.   */ -static irqreturn_t twidjoy_interrupt(struct serio *serio, unsigned char data, unsigned int flags, struct pt_regs *regs) +static irqreturn_t twidjoy_interrupt(struct serio *serio, unsigned char data, unsigned int flags)  {  	struct twidjoy *twidjoy = serio_get_drvdata(serio); @@ -158,7 +156,7 @@ static irqreturn_t twidjoy_interrupt(struct serio *serio, unsigned char data, un  		twidjoy->data[twidjoy->idx++] = data;  	if (twidjoy->idx == TWIDJOY_MAX_LENGTH) { -		twidjoy_process_packet(twidjoy, regs); +		twidjoy_process_packet(twidjoy);  		twidjoy->idx = 0;  	} diff --git a/drivers/input/joystick/warrior.c b/drivers/input/joystick/warrior.c index f9c1a03214e..35edea1ab95 100644 --- a/drivers/input/joystick/warrior.c +++ b/drivers/input/joystick/warrior.c @@ -64,15 +64,13 @@ struct warrior {   * Warrior. It updates the data accordingly.   */ -static void warrior_process_packet(struct warrior *warrior, struct pt_regs *regs) +static void warrior_process_packet(struct warrior *warrior)  {  	struct input_dev *dev = warrior->dev;  	unsigned char *data = warrior->data;  	if (!warrior->idx) return; -	input_regs(dev, regs); -  	switch ((data[0] >> 4) & 7) {  		case 1:					/* Button data */  			input_report_key(dev, BTN_TRIGGER,  data[3]       & 1); @@ -101,12 +99,12 @@ static void warrior_process_packet(struct warrior *warrior, struct pt_regs *regs   */  static irqreturn_t warrior_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct warrior *warrior = serio_get_drvdata(serio);  	if (data & 0x80) { -		if (warrior->idx) warrior_process_packet(warrior, regs); +		if (warrior->idx) warrior_process_packet(warrior);  		warrior->idx = 0;  		warrior->len = warrior_lengths[(data >> 4) & 7];  	} @@ -115,7 +113,7 @@ static irqreturn_t warrior_interrupt(struct serio *serio,  		warrior->data[warrior->idx++] = data;  	if (warrior->idx == warrior->len) { -		if (warrior->idx) warrior_process_packet(warrior, regs); +		if (warrior->idx) warrior_process_packet(warrior);  		warrior->idx = 0;  		warrior->len = 0;  	} diff --git a/drivers/input/keyboard/amikbd.c b/drivers/input/keyboard/amikbd.c index f1f9db9d282..8abdbd0ee8f 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, struct pt_regs *fp) +static irqreturn_t amikbd_interrupt(int irq, void *dummy)  {  	unsigned char scancode, down; @@ -171,8 +171,6 @@ static irqreturn_t amikbd_interrupt(int irq, void *dummy, struct pt_regs *fp)  	scancode >>= 1;  	if (scancode < 0x78) {		/* scancodes < 0x78 are keys */ -		input_regs(amikbd_dev, fp); -  		if (scancode == 98) {	/* CapsLock is a toggle switch key on Amiga */  			input_report_key(amikbd_dev, scancode, 1);  			input_report_key(amikbd_dev, scancode, 0); diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 40244d4ce0f..b6ef9eaad1d 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c @@ -318,7 +318,7 @@ static unsigned int atkbd_compat_scancode(struct atkbd *atkbd, unsigned int code   */  static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, -			unsigned int flags, struct pt_regs *regs) +			unsigned int flags)  {  	struct atkbd *atkbd = serio_get_drvdata(serio);  	struct input_dev *dev = atkbd->dev; @@ -458,7 +458,6 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data,  				atkbd->time = jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]) / 2;  			} -			input_regs(dev, regs);  			input_event(dev, EV_KEY, keycode, value);  			input_sync(dev); @@ -469,7 +468,6 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data,  	}  	if (atkbd->scroll) { -		input_regs(dev, regs);  		if (click != -1)  			input_report_key(dev, BTN_MIDDLE, click);  		input_report_rel(dev, REL_WHEEL, scroll); diff --git a/drivers/input/keyboard/corgikbd.c b/drivers/input/keyboard/corgikbd.c index 1e03153b9bc..cb70970625b 100644 --- a/drivers/input/keyboard/corgikbd.c +++ b/drivers/input/keyboard/corgikbd.c @@ -129,7 +129,7 @@ static inline void corgikbd_reset_col(int col)   */  /* Scan the hardware keyboard and push any changes up through the input layer */ -static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs *regs) +static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data)  {  	unsigned int row, col, rowd;  	unsigned long flags; @@ -140,9 +140,6 @@ static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs  	spin_lock_irqsave(&corgikbd_data->lock, flags); -	if (regs) -		input_regs(corgikbd_data->input, regs); -  	num_pressed = 0;  	for (col = 0; col < KB_COLS; col++) {  		/* @@ -191,14 +188,14 @@ static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data, struct pt_regs  /*   * corgi keyboard interrupt handler.   */ -static irqreturn_t corgikbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t corgikbd_interrupt(int irq, void *dev_id)  {  	struct corgikbd *corgikbd_data = dev_id;  	if (!timer_pending(&corgikbd_data->timer)) {  		/** wait chattering delay **/  		udelay(20); -		corgikbd_scankeyboard(corgikbd_data, regs); +		corgikbd_scankeyboard(corgikbd_data);  	}  	return IRQ_HANDLED; diff --git a/drivers/input/keyboard/hil_kbd.c b/drivers/input/keyboard/hil_kbd.c index 2e4abdc2636..c9b0b8978cd 100644 --- a/drivers/input/keyboard/hil_kbd.c +++ b/drivers/input/keyboard/hil_kbd.c @@ -198,7 +198,7 @@ static void hil_kbd_process_err(struct hil_kbd *kbd) {  }  static irqreturn_t hil_kbd_interrupt(struct serio *serio,  -	      unsigned char data, unsigned int flags, struct pt_regs *regs) +	      unsigned char data, unsigned int flags)  {  	struct hil_kbd *kbd;  	hil_packet packet; diff --git a/drivers/input/keyboard/hilkbd.c b/drivers/input/keyboard/hilkbd.c index d22c7c62429..54bc569db4b 100644 --- a/drivers/input/keyboard/hilkbd.c +++ b/drivers/input/keyboard/hilkbd.c @@ -150,7 +150,7 @@ static inline void handle_data(unsigned char s, unsigned char c)  /*    * Handle HIL interrupts.   */ -static irqreturn_t hil_interrupt(int irq, void *handle, struct pt_regs *regs) +static irqreturn_t hil_interrupt(int irq, void *handle)  {  	unsigned char s, c; diff --git a/drivers/input/keyboard/lkkbd.c b/drivers/input/keyboard/lkkbd.c index 5174224cadb..708d5a1bc3d 100644 --- a/drivers/input/keyboard/lkkbd.c +++ b/drivers/input/keyboard/lkkbd.c @@ -453,8 +453,7 @@ lkkbd_detection_done (struct lkkbd *lk)   * is received.   */  static irqreturn_t -lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags, -		struct pt_regs *regs) +lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags)  {  	struct lkkbd *lk = serio_get_drvdata (serio);  	int i; @@ -473,7 +472,6 @@ lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags,  	switch (data) {  		case LK_ALL_KEYS_UP: -			input_regs (lk->dev, regs);  			for (i = 0; i < ARRAY_SIZE (lkkbd_keycode); i++)  				if (lk->keycode[i] != KEY_RESERVED)  					input_report_key (lk->dev, lk->keycode[i], 0); @@ -501,7 +499,6 @@ lkkbd_interrupt (struct serio *serio, unsigned char data, unsigned int flags,  		default:  			if (lk->keycode[data] != KEY_RESERVED) { -				input_regs (lk->dev, regs);  				if (!test_bit (lk->keycode[data], lk->dev->key))  					input_report_key (lk->dev, lk->keycode[data], 1);  				else diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c index 83906f80ba2..fd33c9cc327 100644 --- a/drivers/input/keyboard/locomokbd.c +++ b/drivers/input/keyboard/locomokbd.c @@ -126,7 +126,7 @@ static inline void locomokbd_reset_col(unsigned long membase, int col)   */  /* Scan the hardware keyboard and push any changes up through the input layer */ -static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *regs) +static void locomokbd_scankeyboard(struct locomokbd *locomokbd)  {  	unsigned int row, col, rowd, scancode;  	unsigned long flags; @@ -135,8 +135,6 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *  	spin_lock_irqsave(&locomokbd->lock, flags); -	input_regs(locomokbd->input, regs); -  	locomokbd_charge_all(membase);  	num_pressed = 0; @@ -171,13 +169,13 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd, struct pt_regs *  /*   * LoCoMo keyboard interrupt handler.   */ -static irqreturn_t locomokbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t locomokbd_interrupt(int irq, void *dev_id)  {  	struct locomokbd *locomokbd = dev_id;  	/** wait chattering delay **/  	udelay(100); -	locomokbd_scankeyboard(locomokbd, regs); +	locomokbd_scankeyboard(locomokbd);  	return IRQ_HANDLED;  } diff --git a/drivers/input/keyboard/newtonkbd.c b/drivers/input/keyboard/newtonkbd.c index 40a3f551247..9282e4e082b 100644 --- a/drivers/input/keyboard/newtonkbd.c +++ b/drivers/input/keyboard/newtonkbd.c @@ -65,13 +65,12 @@ struct nkbd {  };  static irqreturn_t nkbd_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct nkbd *nkbd = serio_get_drvdata(serio);  	/* invalid scan codes are probably the init sequence, so we ignore them */  	if (nkbd->keycode[data & NKBD_KEY]) { -		input_regs(nkbd->dev, regs);  		input_report_key(nkbd->dev, nkbd->keycode[data & NKBD_KEY], data & NKBD_PRESS);  		input_sync(nkbd->dev);  	} diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c index d436287d1d2..5680a6d95b2 100644 --- a/drivers/input/keyboard/omap-keypad.c +++ b/drivers/input/keyboard/omap-keypad.c @@ -97,8 +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, -				     struct pt_regs *regs) +static irqreturn_t omap_kp_interrupt(int irq, 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 e385710233f..8b18c009e3e 100644 --- a/drivers/input/keyboard/spitzkbd.c +++ b/drivers/input/keyboard/spitzkbd.c @@ -176,7 +176,7 @@ static inline int spitzkbd_get_row_status(int col)   */  /* Scan the hardware keyboard and push any changes up through the input layer */ -static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data, struct pt_regs *regs) +static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data)  {  	unsigned int row, col, rowd;  	unsigned long flags; @@ -187,8 +187,6 @@ static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data, struct pt_regs  	spin_lock_irqsave(&spitzkbd_data->lock, flags); -	input_regs(spitzkbd_data->input, regs); -  	num_pressed = 0;  	for (col = 0; col < KB_COLS; col++) {  		/* @@ -239,14 +237,14 @@ static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data, struct pt_regs  /*   * spitz keyboard interrupt handler.   */ -static irqreturn_t spitzkbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t spitzkbd_interrupt(int irq, void *dev_id)  {  	struct spitzkbd *spitzkbd_data = dev_id;  	if (!timer_pending(&spitzkbd_data->timer)) {  		/** wait chattering delay **/  		udelay(20); -		spitzkbd_scankeyboard(spitzkbd_data, regs); +		spitzkbd_scankeyboard(spitzkbd_data);  	}  	return IRQ_HANDLED; @@ -267,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, struct pt_regs *regs) +static irqreturn_t spitzkbd_hinge_isr(int irq, void *dev_id)  {  	struct spitzkbd *spitzkbd_data = dev_id; diff --git a/drivers/input/keyboard/stowaway.c b/drivers/input/keyboard/stowaway.c index 04c54c57f25..e60937d17b1 100644 --- a/drivers/input/keyboard/stowaway.c +++ b/drivers/input/keyboard/stowaway.c @@ -71,13 +71,12 @@ struct skbd {  };  static irqreturn_t skbd_interrupt(struct serio *serio, unsigned char data, -				  unsigned int flags, struct pt_regs *regs) +				  unsigned int flags)  {  	struct skbd *skbd = serio_get_drvdata(serio);  	struct input_dev *dev = skbd->dev;  	if (skbd->keycode[data & SKBD_KEY_MASK]) { -		input_regs(dev, regs);  		input_report_key(dev, skbd->keycode[data & SKBD_KEY_MASK],  				 !(data & SKBD_RELEASE));  		input_sync(dev); diff --git a/drivers/input/keyboard/sunkbd.c b/drivers/input/keyboard/sunkbd.c index 9dbd7b85686..cac4781103c 100644 --- a/drivers/input/keyboard/sunkbd.c +++ b/drivers/input/keyboard/sunkbd.c @@ -94,7 +94,7 @@ struct sunkbd {   */  static irqreturn_t sunkbd_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct sunkbd* sunkbd = serio_get_drvdata(serio); @@ -129,7 +129,6 @@ static irqreturn_t sunkbd_interrupt(struct serio *serio,  				break;  			if (sunkbd->keycode[data & SUNKBD_KEY]) { -				input_regs(sunkbd->dev, regs);                                  input_report_key(sunkbd->dev, sunkbd->keycode[data & SUNKBD_KEY], !(data & SUNKBD_RELEASE));  				input_sync(sunkbd->dev);                          } else { diff --git a/drivers/input/keyboard/xtkbd.c b/drivers/input/keyboard/xtkbd.c index 0821d53cf0c..8c11dc93545 100644 --- a/drivers/input/keyboard/xtkbd.c +++ b/drivers/input/keyboard/xtkbd.c @@ -64,7 +64,7 @@ struct xtkbd {  };  static irqreturn_t xtkbd_interrupt(struct serio *serio, -	unsigned char data, unsigned int flags, struct pt_regs *regs) +	unsigned char data, unsigned int flags)  {  	struct xtkbd *xtkbd = serio_get_drvdata(serio); @@ -75,7 +75,6 @@ static irqreturn_t xtkbd_interrupt(struct serio *serio,  		default:  			if (xtkbd->keycode[data & XTKBD_KEY]) { -				input_regs(xtkbd->dev, regs);  				input_report_key(xtkbd->dev, xtkbd->keycode[data & XTKBD_KEY], !(data & XTKBD_RELEASE));  				input_sync(xtkbd->dev);  			} else { diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c index 805b636e73d..105c6fc2782 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, struct pt_regs *regs) +static irqreturn_t ixp4xx_spkr_interrupt(int irq, void *dev_id)  {  	/* clear interrupt */  	*IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND; diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 450b68a619f..4e71a66fc7f 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c @@ -76,7 +76,7 @@ static const struct alps_model_info alps_model_data[] = {   * on a dualpoint, etc.   */ -static void alps_process_packet(struct psmouse *psmouse, struct pt_regs *regs) +static void alps_process_packet(struct psmouse *psmouse)  {  	struct alps_data *priv = psmouse->private;  	unsigned char *packet = psmouse->packet; @@ -85,8 +85,6 @@ static void alps_process_packet(struct psmouse *psmouse, struct pt_regs *regs)  	int x, y, z, ges, fin, left, right, middle;  	int back = 0, forward = 0; -	input_regs(dev, regs); -  	if ((packet[0] & 0xc8) == 0x08) {   /* 3-byte PS/2 packet */  		input_report_key(dev2, BTN_LEFT,   packet[0] & 1);  		input_report_key(dev2, BTN_RIGHT,  packet[0] & 2); @@ -181,13 +179,13 @@ static void alps_process_packet(struct psmouse *psmouse, struct pt_regs *regs)  	input_sync(dev);  } -static psmouse_ret_t alps_process_byte(struct psmouse *psmouse, struct pt_regs *regs) +static psmouse_ret_t alps_process_byte(struct psmouse *psmouse)  {  	struct alps_data *priv = psmouse->private;  	if ((psmouse->packet[0] & 0xc8) == 0x08) { /* PS/2 packet */  		if (psmouse->pktcnt == 3) { -			alps_process_packet(psmouse, regs); +			alps_process_packet(psmouse);  			return PSMOUSE_FULL_PACKET;  		}  		return PSMOUSE_GOOD_DATA; @@ -202,7 +200,7 @@ static psmouse_ret_t alps_process_byte(struct psmouse *psmouse, struct pt_regs *  		return PSMOUSE_BAD_DATA;  	if (psmouse->pktcnt == 6) { -		alps_process_packet(psmouse, regs); +		alps_process_packet(psmouse);  		return PSMOUSE_FULL_PACKET;  	} diff --git a/drivers/input/mouse/amimouse.c b/drivers/input/mouse/amimouse.c index c8b2cc9f184..599a7b2dc51 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, struct pt_regs *fp) +static irqreturn_t amimouse_interrupt(int irq, void *dummy)  {  	unsigned short joy0dat, potgor;  	int nx, ny, dx, dy; @@ -59,8 +59,6 @@ static irqreturn_t amimouse_interrupt(int irq, void *dummy, struct pt_regs *fp)  	potgor = amiga_custom.potgor; -	input_regs(amimouse_dev, fp); -  	input_report_rel(amimouse_dev, REL_X, dx);  	input_report_rel(amimouse_dev, REL_Y, dy); diff --git a/drivers/input/mouse/hil_ptr.c b/drivers/input/mouse/hil_ptr.c index 69f02178c52..402b057e986 100644 --- a/drivers/input/mouse/hil_ptr.c +++ b/drivers/input/mouse/hil_ptr.c @@ -190,7 +190,7 @@ static void hil_ptr_process_err(struct hil_ptr *ptr) {  }  static irqreturn_t hil_ptr_interrupt(struct serio *serio,  -        unsigned char data, unsigned int flags, struct pt_regs *regs) +        unsigned char data, unsigned int flags)  {  	struct hil_ptr *ptr;  	hil_packet packet; diff --git a/drivers/input/mouse/inport.c b/drivers/input/mouse/inport.c index 50f1fed10be..e1252fa9a10 100644 --- a/drivers/input/mouse/inport.c +++ b/drivers/input/mouse/inport.c @@ -88,15 +88,13 @@ __obsolete_setup("inport_irq=");  static struct input_dev *inport_dev; -static irqreturn_t inport_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t inport_interrupt(int irq, void *dev_id)  {  	unsigned char buttons;  	outb(INPORT_REG_MODE, INPORT_CONTROL_PORT);  	outb(INPORT_MODE_HOLD | INPORT_MODE_IRQ | INPORT_MODE_BASE, INPORT_DATA_PORT); -	input_regs(inport_dev, regs); -  	outb(INPORT_REG_X, INPORT_CONTROL_PORT);  	input_report_rel(inport_dev, REL_X, inb(INPORT_DATA_PORT)); diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c index 5e9d2506751..c57e8853b94 100644 --- a/drivers/input/mouse/lifebook.c +++ b/drivers/input/mouse/lifebook.c @@ -62,7 +62,7 @@ static struct dmi_system_id lifebook_dmi_table[] = {  }; -static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse, struct pt_regs *regs) +static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse)  {  	unsigned char *packet = psmouse->packet;  	struct input_dev *dev = psmouse->dev; @@ -70,8 +70,6 @@ static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse, struct pt_re  	if (psmouse->pktcnt != 3)  		return PSMOUSE_GOOD_DATA; -	input_regs(dev, regs); -  	/* calculate X and Y */  	if ((packet[0] & 0x08) == 0x00) {  		input_report_abs(dev, ABS_X, diff --git a/drivers/input/mouse/logibm.c b/drivers/input/mouse/logibm.c index 9c7ce38806d..8e9c2f3d69a 100644 --- a/drivers/input/mouse/logibm.c +++ b/drivers/input/mouse/logibm.c @@ -79,7 +79,7 @@ __obsolete_setup("logibm_irq=");  static struct input_dev *logibm_dev; -static irqreturn_t logibm_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t logibm_interrupt(int irq, void *dev_id)  {  	char dx, dy;  	unsigned char buttons; @@ -95,7 +95,6 @@ static irqreturn_t logibm_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	dy |= (buttons & 0xf) << 4;  	buttons = ~buttons >> 5; -	input_regs(logibm_dev, regs);  	input_report_rel(logibm_dev, REL_X, dx);  	input_report_rel(logibm_dev, REL_Y, dy);  	input_report_key(logibm_dev, BTN_RIGHT,  buttons & 1); diff --git a/drivers/input/mouse/logips2pp.c b/drivers/input/mouse/logips2pp.c index 7972eecbcfe..8a4f862709e 100644 --- a/drivers/input/mouse/logips2pp.c +++ b/drivers/input/mouse/logips2pp.c @@ -39,7 +39,7 @@ struct ps2pp_info {   * Process a PS2++ or PS2T++ packet.   */ -static psmouse_ret_t ps2pp_process_byte(struct psmouse *psmouse, struct pt_regs *regs) +static psmouse_ret_t ps2pp_process_byte(struct psmouse *psmouse)  {  	struct input_dev *dev = psmouse->dev;  	unsigned char *packet = psmouse->packet; @@ -51,8 +51,6 @@ static psmouse_ret_t ps2pp_process_byte(struct psmouse *psmouse, struct pt_regs   * Full packet accumulated, process it   */ -	input_regs(dev, regs); -  	if ((packet[0] & 0x48) == 0x48 && (packet[1] & 0x02) == 0x02) {  		/* Logitech extended packet */ diff --git a/drivers/input/mouse/pc110pad.c b/drivers/input/mouse/pc110pad.c index d284ea71215..8c075aa7223 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, struct pt_regs *regs) +static irqreturn_t pc110pad_interrupt(int irq, void *ptr)  {  	int value     = inb_p(pc110pad_io);  	int handshake = inb_p(pc110pad_io + 2); @@ -71,7 +71,6 @@ static irqreturn_t pc110pad_interrupt(int irq, void *ptr, struct pt_regs *regs)  	if (pc110pad_count < 3)  		return IRQ_HANDLED; -	input_regs(pc110pad_dev, regs);  	input_report_key(pc110pad_dev, BTN_TOUCH,  		pc110pad_data[0] & 0x01);  	input_report_abs(pc110pad_dev, ABS_X, @@ -91,9 +90,9 @@ static void pc110pad_close(struct input_dev *dev)  static int pc110pad_open(struct input_dev *dev)  { -	pc110pad_interrupt(0, NULL, NULL); -	pc110pad_interrupt(0, NULL, NULL); -	pc110pad_interrupt(0, NULL, NULL); +	pc110pad_interrupt(0, NULL); +	pc110pad_interrupt(0, NULL); +	pc110pad_interrupt(0, NULL);  	outb(PC110PAD_ON, pc110pad_io + 2);  	pc110pad_count = 0; diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 9fb7eb6b0f7..6f9b2c7cc9c 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -124,7 +124,7 @@ struct psmouse_protocol {   * relevant events to the input module once full packet has arrived.   */ -static psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse, struct pt_regs *regs) +static psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse)  {  	struct input_dev *dev = psmouse->dev;  	unsigned char *packet = psmouse->packet; @@ -136,8 +136,6 @@ static psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse, struct pt_reg   * Full packet accumulated, process it   */ -	input_regs(dev, regs); -  /*   * Scroll wheel on IntelliMice, scroll buttons on NetMice   */ @@ -231,9 +229,9 @@ static void psmouse_set_state(struct psmouse *psmouse, enum psmouse_state new_st   * by calling corresponding protocol handler.   */ -static int psmouse_handle_byte(struct psmouse *psmouse, struct pt_regs *regs) +static int psmouse_handle_byte(struct psmouse *psmouse)  { -	psmouse_ret_t rc = psmouse->protocol_handler(psmouse, regs); +	psmouse_ret_t rc = psmouse->protocol_handler(psmouse);  	switch (rc) {  		case PSMOUSE_BAD_DATA: @@ -271,7 +269,7 @@ static int psmouse_handle_byte(struct psmouse *psmouse, struct pt_regs *regs)   */  static irqreturn_t psmouse_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct psmouse *psmouse = serio_get_drvdata(serio); @@ -327,7 +325,7 @@ static irqreturn_t psmouse_interrupt(struct serio *serio,   * Not a new device, try processing first byte normally   */  		psmouse->pktcnt = 1; -		if (psmouse_handle_byte(psmouse, regs)) +		if (psmouse_handle_byte(psmouse))  			goto out;  		psmouse->packet[psmouse->pktcnt++] = data; @@ -346,7 +344,7 @@ static irqreturn_t psmouse_interrupt(struct serio *serio,  	}  	psmouse->last = jiffies; -	psmouse_handle_byte(psmouse, regs); +	psmouse_handle_byte(psmouse);   out:  	return IRQ_HANDLED; @@ -940,7 +938,7 @@ static void psmouse_resync(void *p)  			psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);  			for (i = 0; i < psmouse->pktsize; i++) {  				psmouse->pktcnt++; -				rc = psmouse->protocol_handler(psmouse, NULL); +				rc = psmouse->protocol_handler(psmouse);  				if (rc != PSMOUSE_GOOD_DATA)  					break;  			} diff --git a/drivers/input/mouse/psmouse.h b/drivers/input/mouse/psmouse.h index 4d9107fba6a..1b74cae8a55 100644 --- a/drivers/input/mouse/psmouse.h +++ b/drivers/input/mouse/psmouse.h @@ -62,7 +62,7 @@ struct psmouse {  	unsigned int resync_time;  	unsigned int smartscroll;	/* Logitech only */ -	psmouse_ret_t (*protocol_handler)(struct psmouse *psmouse, struct pt_regs *regs); +	psmouse_ret_t (*protocol_handler)(struct psmouse *psmouse);  	void (*set_rate)(struct psmouse *psmouse, unsigned int rate);  	void (*set_resolution)(struct psmouse *psmouse, unsigned int resolution); diff --git a/drivers/input/mouse/rpcmouse.c b/drivers/input/mouse/rpcmouse.c index 872b30bf7aa..ea046856961 100644 --- a/drivers/input/mouse/rpcmouse.c +++ b/drivers/input/mouse/rpcmouse.c @@ -36,7 +36,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, struct pt_regs *regs) +static irqreturn_t rpcmouse_irq(int irq, void *dev_id)  {  	struct input_dev *dev = dev_id;  	short x, y, dx, dy, b; @@ -51,8 +51,6 @@ static irqreturn_t rpcmouse_irq(int irq, void *dev_id, struct pt_regs *regs)  	rpcmouse_lastx = x;  	rpcmouse_lasty = y; -	input_regs(dev, regs); -  	input_report_rel(dev, REL_X, dx);  	input_report_rel(dev, REL_Y, -dy); diff --git a/drivers/input/mouse/sermouse.c b/drivers/input/mouse/sermouse.c index 680b3235388..2a272c5daf0 100644 --- a/drivers/input/mouse/sermouse.c +++ b/drivers/input/mouse/sermouse.c @@ -61,13 +61,11 @@ struct sermouse {   * second, which is as good as a PS/2 or USB mouse.   */ -static void sermouse_process_msc(struct sermouse *sermouse, signed char data, struct pt_regs *regs) +static void sermouse_process_msc(struct sermouse *sermouse, signed char data)  {  	struct input_dev *dev = sermouse->dev;  	signed char *buf = sermouse->buf; -	input_regs(dev, regs); -  	switch (sermouse->count) {  		case 0: @@ -104,15 +102,13 @@ static void sermouse_process_msc(struct sermouse *sermouse, signed char data, st   * standard 3-byte packets and 1200 bps.   */ -static void sermouse_process_ms(struct sermouse *sermouse, signed char data, struct pt_regs *regs) +static void sermouse_process_ms(struct sermouse *sermouse, signed char data)  {  	struct input_dev *dev = sermouse->dev;  	signed char *buf = sermouse->buf;  	if (data & 0x40) sermouse->count = 0; -	input_regs(dev, regs); -  	switch (sermouse->count) {  		case 0: @@ -206,7 +202,7 @@ static void sermouse_process_ms(struct sermouse *sermouse, signed char data, str   */  static irqreturn_t sermouse_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct sermouse *sermouse = serio_get_drvdata(serio); @@ -214,9 +210,9 @@ static irqreturn_t sermouse_interrupt(struct serio *serio,  	sermouse->last = jiffies;  	if (sermouse->type > SERIO_SUN) -		sermouse_process_ms(sermouse, data, regs); +		sermouse_process_ms(sermouse, data);  	else -		sermouse_process_msc(sermouse, data, regs); +		sermouse_process_msc(sermouse, data);  	return IRQ_HANDLED;  } diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 392108c436b..49ac696d6cf 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c @@ -216,13 +216,13 @@ static void synaptics_pass_pt_packet(struct serio *ptport, unsigned char *packet  	struct psmouse *child = serio_get_drvdata(ptport);  	if (child && child->state == PSMOUSE_ACTIVATED) { -		serio_interrupt(ptport, packet[1], 0, NULL); -		serio_interrupt(ptport, packet[4], 0, NULL); -		serio_interrupt(ptport, packet[5], 0, NULL); +		serio_interrupt(ptport, packet[1], 0); +		serio_interrupt(ptport, packet[4], 0); +		serio_interrupt(ptport, packet[5], 0);  		if (child->pktsize == 4) -			serio_interrupt(ptport, packet[2], 0, NULL); +			serio_interrupt(ptport, packet[2], 0);  	} else -		serio_interrupt(ptport, packet[1], 0, NULL); +		serio_interrupt(ptport, packet[1], 0);  }  static void synaptics_pt_activate(struct psmouse *psmouse) @@ -469,13 +469,10 @@ static unsigned char synaptics_detect_pkt_type(struct psmouse *psmouse)  	return SYN_NEWABS_STRICT;  } -static psmouse_ret_t synaptics_process_byte(struct psmouse *psmouse, struct pt_regs *regs) +static psmouse_ret_t synaptics_process_byte(struct psmouse *psmouse)  { -	struct input_dev *dev = psmouse->dev;  	struct synaptics_data *priv = psmouse->private; -	input_regs(dev, regs); -  	if (psmouse->pktcnt >= 6) { /* Full packet received */  		if (unlikely(priv->pkt_type == SYN_NEWABS))  			priv->pkt_type = synaptics_detect_pkt_type(psmouse); diff --git a/drivers/input/mouse/vsxxxaa.c b/drivers/input/mouse/vsxxxaa.c index 47edcfd022b..ffdb50eee93 100644 --- a/drivers/input/mouse/vsxxxaa.c +++ b/drivers/input/mouse/vsxxxaa.c @@ -211,7 +211,7 @@ vsxxxaa_smells_like_packet (struct vsxxxaa *mouse, unsigned char type, size_t le  }  static void -vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse, struct pt_regs *regs) +vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse)  {  	struct input_dev *dev = mouse->dev;  	unsigned char *buf = mouse->buf; @@ -258,7 +258,6 @@ vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse, struct pt_regs *regs)  	/*  	 * Report what we've found so far...  	 */ -	input_regs (dev, regs);  	input_report_key (dev, BTN_LEFT, left);  	input_report_key (dev, BTN_MIDDLE, middle);  	input_report_key (dev, BTN_RIGHT, right); @@ -269,7 +268,7 @@ vsxxxaa_handle_REL_packet (struct vsxxxaa *mouse, struct pt_regs *regs)  }  static void -vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse, struct pt_regs *regs) +vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse)  {  	struct input_dev *dev = mouse->dev;  	unsigned char *buf = mouse->buf; @@ -312,7 +311,6 @@ vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse, struct pt_regs *regs)  	/*  	 * Report what we've found so far...  	 */ -	input_regs (dev, regs);  	input_report_key (dev, BTN_LEFT, left);  	input_report_key (dev, BTN_MIDDLE, middle);  	input_report_key (dev, BTN_RIGHT, right); @@ -323,7 +321,7 @@ vsxxxaa_handle_ABS_packet (struct vsxxxaa *mouse, struct pt_regs *regs)  }  static void -vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse, struct pt_regs *regs) +vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse)  {  	struct input_dev *dev = mouse->dev;  	unsigned char *buf = mouse->buf; @@ -367,7 +365,6 @@ vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse, struct pt_regs *regs)  	if (error <= 0x1f) {  		/* No (serious) error. Report buttons */ -		input_regs (dev, regs);  		input_report_key (dev, BTN_LEFT, left);  		input_report_key (dev, BTN_MIDDLE, middle);  		input_report_key (dev, BTN_RIGHT, right); @@ -395,7 +392,7 @@ vsxxxaa_handle_POR_packet (struct vsxxxaa *mouse, struct pt_regs *regs)  }  static void -vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs) +vsxxxaa_parse_buffer (struct vsxxxaa *mouse)  {  	unsigned char *buf = mouse->buf;  	int stray_bytes; @@ -432,7 +429,7 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs)  				continue;  			} -			vsxxxaa_handle_REL_packet (mouse, regs); +			vsxxxaa_handle_REL_packet (mouse);  			continue; /* More to parse? */  		} @@ -446,7 +443,7 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs)  				continue;  			} -			vsxxxaa_handle_ABS_packet (mouse, regs); +			vsxxxaa_handle_ABS_packet (mouse);  			continue; /* More to parse? */  		} @@ -460,7 +457,7 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs)  				continue;  			} -			vsxxxaa_handle_POR_packet (mouse, regs); +			vsxxxaa_handle_POR_packet (mouse);  			continue; /* More to parse? */  		} @@ -469,13 +466,12 @@ vsxxxaa_parse_buffer (struct vsxxxaa *mouse, struct pt_regs *regs)  }  static irqreturn_t -vsxxxaa_interrupt (struct serio *serio, unsigned char data, unsigned int flags, -		struct pt_regs *regs) +vsxxxaa_interrupt (struct serio *serio, unsigned char data, unsigned int flags)  {  	struct vsxxxaa *mouse = serio_get_drvdata (serio);  	vsxxxaa_queue_byte (mouse, data); -	vsxxxaa_parse_buffer (mouse, regs); +	vsxxxaa_parse_buffer (mouse);  	return IRQ_HANDLED;  } diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c index 3df5eedf8f3..5a7b49c3553 100644 --- a/drivers/input/serio/ambakmi.c +++ b/drivers/input/serio/ambakmi.c @@ -37,14 +37,14 @@ struct amba_kmi_port {  	unsigned int		open;  }; -static irqreturn_t amba_kmi_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t amba_kmi_int(int irq, void *dev_id)  {  	struct amba_kmi_port *kmi = dev_id;  	unsigned int status = readb(KMIIR);  	int handled = IRQ_NONE;  	while (status & KMIIR_RXINTR) { -		serio_interrupt(kmi->io, readb(KMIDATA), 0, regs); +		serio_interrupt(kmi->io, readb(KMIDATA), 0);  		status = readb(KMIIR);  		handled = IRQ_HANDLED;  	} diff --git a/drivers/input/serio/ct82c710.c b/drivers/input/serio/ct82c710.c index bc6e87add09..0d35018c23a 100644 --- a/drivers/input/serio/ct82c710.c +++ b/drivers/input/serio/ct82c710.c @@ -71,9 +71,9 @@ static struct resource ct82c710_iores;   * is waiting in the 82C710.   */ -static irqreturn_t ct82c710_interrupt(int cpl, void *dev_id, struct pt_regs * regs) +static irqreturn_t ct82c710_interrupt(int cpl, void *dev_id)  { -	return serio_interrupt(ct82c710_port, inb(CT82C710_DATA), 0, regs); +	return serio_interrupt(ct82c710_port, inb(CT82C710_DATA), 0);  }  /* diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c index cde036a9216..081fdc3c773 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, struct pt_regs *regs); +static irqreturn_t gscps2_interrupt(int irq, 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, struct pt_regs *regs) +static irqreturn_t gscps2_interrupt(int irq, void *dev)  {  	struct gscps2port *ps2port; @@ -267,7 +267,7 @@ static irqreturn_t gscps2_interrupt(int irq, void *dev, struct pt_regs *regs)  	    rxflags =	((status & GSC_STAT_TERR) ? SERIO_TIMEOUT : 0 ) |  			((status & GSC_STAT_PERR) ? SERIO_PARITY  : 0 ); -	    serio_interrupt(ps2port->port, data, rxflags, regs); +	    serio_interrupt(ps2port->port, data, rxflags);  	  } /* while() */ diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c index a10348bb25e..ba7b920347e 100644 --- a/drivers/input/serio/hp_sdc.c +++ b/drivers/input/serio/hp_sdc.c @@ -202,7 +202,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, struct pt_regs * regs) { +static irqreturn_t hp_sdc_isr(int irq, void *dev_id) {  	uint8_t status, data;  	status = hp_sdc_status_in8(); @@ -253,7 +253,7 @@ static irqreturn_t hp_sdc_isr(int irq, void *dev_id, struct pt_regs * regs) {  } -static irqreturn_t hp_sdc_nmisr(int irq, void *dev_id, struct pt_regs * regs) { +static irqreturn_t hp_sdc_nmisr(int irq, void *dev_id) {  	int status;  	status = hp_sdc_status_in8(); diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 1bb0c76a925..09b06e605b5 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -108,7 +108,7 @@ static unsigned char i8042_kbd_irq_registered;  static unsigned char i8042_aux_irq_registered;  static struct platform_device *i8042_platform_device; -static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t i8042_interrupt(int irq, void *dev_id);  /*   * The i8042_wait_read() and i8042_wait_write functions wait for the i8042 to @@ -271,7 +271,7 @@ static int i8042_aux_write(struct serio *serio, unsigned char c)   * characters later.   */ -	i8042_interrupt(0, NULL, NULL); +	i8042_interrupt(0, NULL);  	return retval;  } @@ -309,7 +309,7 @@ static void i8042_stop(struct serio *serio)   * to the upper layers.   */ -static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t i8042_interrupt(int irq, void *dev_id)  {  	struct i8042_port *port;  	unsigned long flags; @@ -379,7 +379,7 @@ static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	    dfl & SERIO_TIMEOUT ? ", timeout" : "");  	if (likely(port->exists)) -		serio_interrupt(port->serio, data, dfl, regs); +		serio_interrupt(port->serio, data, dfl);  	ret = 1;   out: @@ -519,7 +519,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, struct pt_regs *regs) +static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id)  {  	unsigned long flags;  	unsigned char str, data; @@ -905,7 +905,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, NULL); +	i8042_interrupt(0, NULL);  	return 0;  } diff --git a/drivers/input/serio/maceps2.c b/drivers/input/serio/maceps2.c index f08a5d0cd5f..558200e96d0 100644 --- a/drivers/input/serio/maceps2.c +++ b/drivers/input/serio/maceps2.c @@ -72,8 +72,7 @@ static int maceps2_write(struct serio *dev, unsigned char val)  	return -1;  } -static irqreturn_t maceps2_interrupt(int irq, void *dev_id, -				     struct pt_regs *regs) +static irqreturn_t maceps2_interrupt(int irq, void *dev_id)  {  	struct serio *dev = dev_id;  	struct mace_ps2port *port = ((struct maceps2_data *)dev->port_data)->port; @@ -81,7 +80,7 @@ static irqreturn_t maceps2_interrupt(int irq, void *dev_id,  	if (port->status & PS2_STATUS_RX_FULL) {  		byte = port->rx; -		serio_interrupt(dev, byte & 0xff, 0, regs); +		serio_interrupt(dev, byte & 0xff, 0);          }  	return IRQ_HANDLED; diff --git a/drivers/input/serio/parkbd.c b/drivers/input/serio/parkbd.c index a5c1fb3a4a5..688610e86a3 100644 --- a/drivers/input/serio/parkbd.c +++ b/drivers/input/serio/parkbd.c @@ -102,7 +102,7 @@ static int parkbd_write(struct serio *port, unsigned char c)  	return 0;  } -static void parkbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static void parkbd_interrupt(int irq, void *dev_id)  {  	if (parkbd_writing) { @@ -134,7 +134,7 @@ static void parkbd_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		parkbd_buffer |= (parkbd_readlines() >> 1) << parkbd_counter++;  		if (parkbd_counter == parkbd_mode + 10) -			serio_interrupt(parkbd_port, (parkbd_buffer >> (2 - parkbd_mode)) & 0xff, 0, regs); +			serio_interrupt(parkbd_port, (parkbd_buffer >> (2 - parkbd_mode)) & 0xff, 0);  	}  	parkbd_last = jiffies; diff --git a/drivers/input/serio/pcips2.c b/drivers/input/serio/pcips2.c index fb727c66525..ea5e3c6ddb6 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, struct pt_regs *regs) +static irqreturn_t pcips2_interrupt(int irq, void *devid)  {  	struct pcips2_data *ps2if = devid;  	unsigned char status, scancode; @@ -80,7 +80,7 @@ static irqreturn_t pcips2_interrupt(int irq, void *devid, struct pt_regs *regs)  		if (hweight8(scancode) & 1)  			flag ^= SERIO_PARITY; -		serio_interrupt(ps2if->io, scancode, flag, regs); +		serio_interrupt(ps2if->io, scancode, flag);  	} while (1);  	return IRQ_RETVAL(handled);  } diff --git a/drivers/input/serio/q40kbd.c b/drivers/input/serio/q40kbd.c index d3827c5fe11..cb89aff2e16 100644 --- a/drivers/input/serio/q40kbd.c +++ b/drivers/input/serio/q40kbd.c @@ -53,14 +53,14 @@ 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, struct pt_regs *regs) +static irqreturn_t q40kbd_interrupt(int irq, void *dev_id)  {  	unsigned long flags;  	spin_lock_irqsave(&q40kbd_lock, flags);  	if (Q40_IRQ_KEYB_MASK & master_inb(INTERRUPT_REG)) -		serio_interrupt(q40kbd_port, master_inb(KEYCODE_REG), 0, regs); +		serio_interrupt(q40kbd_port, master_inb(KEYCODE_REG), 0);  	master_outb(-1, KEYBOARD_UNLOCK_REG); diff --git a/drivers/input/serio/rpckbd.c b/drivers/input/serio/rpckbd.c index 513d37fc1ac..49f84315cb3 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, struct pt_regs *regs) +static irqreturn_t rpckbd_rx(int irq, void *dev_id)  {  	struct serio *port = dev_id;  	unsigned int byte; @@ -65,13 +65,13 @@ static irqreturn_t rpckbd_rx(int irq, void *dev_id, struct pt_regs *regs)  	while (iomd_readb(IOMD_KCTRL) & (1 << 5)) {  		byte = iomd_readb(IOMD_KARTRX); -		serio_interrupt(port, byte, 0, regs); +		serio_interrupt(port, byte, 0);  		handled = IRQ_HANDLED;  	}  	return handled;  } -static irqreturn_t rpckbd_tx(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t rpckbd_tx(int irq, void *dev_id)  {  	return IRQ_HANDLED;  } diff --git a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c index ebd9976fc81..559508795af 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, struct pt_regs *regs) +static irqreturn_t ps2_rxint(int irq, void *dev_id)  {  	struct ps2if *ps2if = dev_id;  	unsigned int scancode, flag, status; @@ -58,7 +58,7 @@ static irqreturn_t ps2_rxint(int irq, void *dev_id, struct pt_regs *regs)  		if (hweight8(scancode) & 1)  			flag ^= SERIO_PARITY; -		serio_interrupt(ps2if->io, scancode, flag, regs); +		serio_interrupt(ps2if->io, scancode, flag);  		status = sa1111_readl(ps2if->base + SA1111_PS2STAT);          } @@ -69,7 +69,7 @@ static irqreturn_t ps2_rxint(int irq, void *dev_id, struct pt_regs *regs)  /*   * Completion of ps2 write   */ -static irqreturn_t ps2_txint(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ps2_txint(int irq, void *dev_id)  {  	struct ps2if *ps2if = dev_id;  	unsigned int status; diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c index 3e76ad71c9a..960fae3c3ce 100644 --- a/drivers/input/serio/serio.c +++ b/drivers/input/serio/serio.c @@ -911,7 +911,7 @@ void serio_close(struct serio *serio)  }  irqreturn_t serio_interrupt(struct serio *serio, -		unsigned char data, unsigned int dfl, struct pt_regs *regs) +		unsigned char data, unsigned int dfl)  {  	unsigned long flags;  	irqreturn_t ret = IRQ_NONE; @@ -919,7 +919,7 @@ irqreturn_t serio_interrupt(struct serio *serio,  	spin_lock_irqsave(&serio->lock, flags);          if (likely(serio->drv)) { -                ret = serio->drv->interrupt(serio, data, dfl, regs); +                ret = serio->drv->interrupt(serio, data, dfl);  	} else if (!dfl && serio->registered) {  		serio_rescan(serio);  		ret = IRQ_HANDLED; diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c index 71a8eea816c..ba2a2035d64 100644 --- a/drivers/input/serio/serio_raw.c +++ b/drivers/input/serio/serio_raw.c @@ -250,7 +250,7 @@ static struct file_operations serio_raw_fops = {   *********************************************************************/  static irqreturn_t serio_raw_interrupt(struct serio *serio, unsigned char data, -					unsigned int dfl, struct pt_regs *regs) +					unsigned int dfl)  {  	struct serio_raw *serio_raw = serio_get_drvdata(serio);  	struct serio_raw_list *list; diff --git a/drivers/input/serio/serport.c b/drivers/input/serio/serport.c index 54a680cc704..e1a3a79ab3f 100644 --- a/drivers/input/serio/serport.c +++ b/drivers/input/serio/serport.c @@ -117,9 +117,6 @@ static void serport_ldisc_close(struct tty_struct *tty)   * serport_ldisc_receive() is called by the low level tty driver when characters   * are ready for us. We forward the characters, one by one to the 'interrupt'   * routine. - * - * FIXME: We should get pt_regs from the tty layer and forward them to - *	  serio_interrupt here.   */  static void serport_ldisc_receive(struct tty_struct *tty, const unsigned char *cp, char *fp, int count) @@ -134,7 +131,7 @@ static void serport_ldisc_receive(struct tty_struct *tty, const unsigned char *c  		goto out;  	for (i = 0; i < count; i++) -		serio_interrupt(serport->serio, cp[i], 0, NULL); +		serio_interrupt(serport->serio, cp[i], 0);  out:  	spin_unlock_irqrestore(&serport->lock, flags); diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 66e411badf7..f56d6a0f062 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -487,7 +487,7 @@ static void ads7846_timer(unsigned long handle)  	spin_unlock_irq(&ts->lock);  } -static irqreturn_t ads7846_irq(int irq, void *handle, struct pt_regs *regs) +static irqreturn_t ads7846_irq(int 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 9b66271d3ba..ca79b224619 100644 --- a/drivers/input/touchscreen/corgi_ts.c +++ b/drivers/input/touchscreen/corgi_ts.c @@ -173,7 +173,7 @@ static int read_xydata(struct corgi_ts *corgi_ts)  	return 1;  } -static void new_data(struct corgi_ts *corgi_ts, struct pt_regs *regs) +static void new_data(struct corgi_ts *corgi_ts)  {  	if (corgi_ts->power_mode != PWR_MODE_ACTIVE)  		return; @@ -181,7 +181,6 @@ static void new_data(struct corgi_ts *corgi_ts, struct pt_regs *regs)  	if (!corgi_ts->tc.pressure && corgi_ts->pendown == 0)  		return; -	input_regs(corgi_ts->input, regs);  	input_report_abs(corgi_ts->input, ABS_X, corgi_ts->tc.x);  	input_report_abs(corgi_ts->input, ABS_Y, corgi_ts->tc.y);  	input_report_abs(corgi_ts->input, ABS_PRESSURE, corgi_ts->tc.pressure); @@ -189,14 +188,14 @@ static void new_data(struct corgi_ts *corgi_ts, struct pt_regs *regs)  	input_sync(corgi_ts->input);  } -static void ts_interrupt_main(struct corgi_ts *corgi_ts, int isTimer, struct pt_regs *regs) +static void ts_interrupt_main(struct corgi_ts *corgi_ts, int isTimer)  {  	if ((GPLR(IRQ_TO_GPIO(corgi_ts->irq_gpio)) & GPIO_bit(IRQ_TO_GPIO(corgi_ts->irq_gpio))) == 0) {  		/* Disable Interrupt */  		set_irq_type(corgi_ts->irq_gpio, IRQT_NOEDGE);  		if (read_xydata(corgi_ts)) {  			corgi_ts->pendown = 1; -			new_data(corgi_ts, regs); +			new_data(corgi_ts);  		}  		mod_timer(&corgi_ts->timer, jiffies + HZ / 100);  	} else { @@ -208,7 +207,7 @@ static void ts_interrupt_main(struct corgi_ts *corgi_ts, int isTimer, struct pt_  		if (corgi_ts->pendown) {  			corgi_ts->tc.pressure = 0; -			new_data(corgi_ts, regs); +			new_data(corgi_ts);  		}  		/* Enable Falling Edge */ @@ -223,10 +222,10 @@ static void corgi_ts_timer(unsigned long data)  	ts_interrupt_main(corgits_data, 1, NULL);  } -static irqreturn_t ts_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ts_interrupt(int irq, void *dev_id)  {  	struct corgi_ts *corgits_data = dev_id; -	ts_interrupt_main(corgits_data, 0, regs); +	ts_interrupt_main(corgits_data, 0);  	return IRQ_HANDLED;  } diff --git a/drivers/input/touchscreen/elo.c b/drivers/input/touchscreen/elo.c index ab565335ee4..913e1b73bb0 100644 --- a/drivers/input/touchscreen/elo.c +++ b/drivers/input/touchscreen/elo.c @@ -67,7 +67,7 @@ struct elo {  	char phys[32];  }; -static void elo_process_data_10(struct elo *elo, unsigned char data, struct pt_regs *regs) +static void elo_process_data_10(struct elo *elo, unsigned char data)  {  	struct input_dev *dev = elo->dev; @@ -95,7 +95,6 @@ static void elo_process_data_10(struct elo *elo, unsigned char data, struct pt_r  				break;  			}  			if (likely(elo->data[1] == ELO10_TOUCH_PACKET)) { -				input_regs(dev, regs);  				input_report_abs(dev, ABS_X, (elo->data[4] << 8) | elo->data[3]);  				input_report_abs(dev, ABS_Y, (elo->data[6] << 8) | elo->data[5]);  				if (elo->data[2] & ELO10_PRESSURE) @@ -116,7 +115,7 @@ static void elo_process_data_10(struct elo *elo, unsigned char data, struct pt_r  	elo->csum += data;  } -static void elo_process_data_6(struct elo *elo, unsigned char data, struct pt_regs *regs) +static void elo_process_data_6(struct elo *elo, unsigned char data)  {  	struct input_dev *dev = elo->dev; @@ -134,7 +133,6 @@ static void elo_process_data_6(struct elo *elo, unsigned char data, struct pt_re  				break;  			} -			input_regs(dev, regs);  			input_report_abs(dev, ABS_X, ((elo->data[0] & 0x3f) << 6) | (elo->data[1] & 0x3f));  			input_report_abs(dev, ABS_Y, ((elo->data[2] & 0x3f) << 6) | (elo->data[3] & 0x3f)); @@ -164,7 +162,7 @@ static void elo_process_data_6(struct elo *elo, unsigned char data, struct pt_re  	}  } -static void elo_process_data_3(struct elo *elo, unsigned char data, struct pt_regs *regs) +static void elo_process_data_3(struct elo *elo, unsigned char data)  {  	struct input_dev *dev = elo->dev; @@ -177,7 +175,6 @@ static void elo_process_data_3(struct elo *elo, unsigned char data, struct pt_re  				elo->idx = 0;  			break;  		case 2: -			input_regs(dev, regs);  			input_report_key(dev, BTN_TOUCH, !(elo->data[1] & 0x80));  			input_report_abs(dev, ABS_X, elo->data[1]);  			input_report_abs(dev, ABS_Y, elo->data[2]); @@ -188,22 +185,22 @@ static void elo_process_data_3(struct elo *elo, unsigned char data, struct pt_re  }  static irqreturn_t elo_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct elo *elo = serio_get_drvdata(serio);  	switch(elo->id) {  		case 0: -			elo_process_data_10(elo, data, regs); +			elo_process_data_10(elo, data);  			break;  		case 1:  		case 2: -			elo_process_data_6(elo, data, regs); +			elo_process_data_6(elo, data);  			break;  		case 3: -			elo_process_data_3(elo, data, regs); +			elo_process_data_3(elo, data);  			break;  	} diff --git a/drivers/input/touchscreen/gunze.c b/drivers/input/touchscreen/gunze.c index b769b21973b..817c2198933 100644 --- a/drivers/input/touchscreen/gunze.c +++ b/drivers/input/touchscreen/gunze.c @@ -60,7 +60,7 @@ struct gunze {  	char phys[32];  }; -static void gunze_process_packet(struct gunze* gunze, struct pt_regs *regs) +static void gunze_process_packet(struct gunze* gunze)  {  	struct input_dev *dev = gunze->dev; @@ -70,7 +70,6 @@ static void gunze_process_packet(struct gunze* gunze, struct pt_regs *regs)  		return;  	} -	input_regs(dev, regs);  	input_report_abs(dev, ABS_X, simple_strtoul(gunze->data + 1, NULL, 10));  	input_report_abs(dev, ABS_Y, 1024 - simple_strtoul(gunze->data + 6, NULL, 10));  	input_report_key(dev, BTN_TOUCH, gunze->data[0] == 'T'); @@ -78,12 +77,12 @@ static void gunze_process_packet(struct gunze* gunze, struct pt_regs *regs)  }  static irqreturn_t gunze_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct gunze* gunze = serio_get_drvdata(serio);  	if (data == '\r') { -		gunze_process_packet(gunze, regs); +		gunze_process_packet(gunze);  		gunze->idx = 0;  	} else {  		if (gunze->idx < GUNZE_MAX_LENGTH) diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c index e2b91001877..d9e61ee05ea 100644 --- a/drivers/input/touchscreen/h3600_ts_input.c +++ b/drivers/input/touchscreen/h3600_ts_input.c @@ -106,19 +106,18 @@ struct h3600_dev {  	char phys[32];  }; -static irqreturn_t action_button_handler(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t action_button_handler(int irq, void *dev_id)  {  	int down = (GPLR & GPIO_BITSY_ACTION_BUTTON) ? 0 : 1;  	struct input_dev *dev = (struct input_dev *) dev_id; -	input_regs(dev, regs);  	input_report_key(dev, KEY_ENTER, down);  	input_sync(dev);  	return IRQ_HANDLED;  } -static irqreturn_t npower_button_handler(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t npower_button_handler(int irq, void *dev_id)  {  	int down = (GPLR & GPIO_BITSY_NPOWER_BUTTON) ? 0 : 1;  	struct input_dev *dev = (struct input_dev *) dev_id; @@ -127,7 +126,6 @@ static irqreturn_t npower_button_handler(int irq, void *dev_id, struct pt_regs *  	 * This interrupt is only called when we release the key. So we have  	 * to fake a key press.  	 */ -	input_regs(dev, regs);  	input_report_key(dev, KEY_SUSPEND, 1);  	input_report_key(dev, KEY_SUSPEND, down);  	input_sync(dev); @@ -165,14 +163,12 @@ unsigned int h3600_flite_power(struct input_dev *dev, enum flite_pwr pwr)   * packets. Some packets coming from serial are not touchscreen related. In   * this case we send them off to be processed elsewhere.   */ -static void h3600ts_process_packet(struct h3600_dev *ts, struct pt_regs *regs) +static void h3600ts_process_packet(struct h3600_dev *ts)  {  	struct input_dev *dev = ts->dev;  	static int touched = 0;  	int key, down = 0; -	input_regs(dev, regs); -  	switch (ts->event) {  		/*  		   Buttons - returned as a single byte @@ -301,7 +297,7 @@ static int state;  #define STATE_EOF       3       /* state where we decode checksum or EOF */  static irqreturn_t h3600ts_interrupt(struct serio *serio, unsigned char data, -                                     unsigned int flags, struct pt_regs *regs) +                                     unsigned int flags)  {  	struct h3600_dev *ts = serio_get_drvdata(serio); @@ -333,7 +329,7 @@ static irqreturn_t h3600ts_interrupt(struct serio *serio, unsigned char data,  		case STATE_EOF:  			state = STATE_SOF;  			if (data == CHAR_EOF || data == ts->chksum) -				h3600ts_process_packet(ts, regs); +				h3600ts_process_packet(ts);  			break;  		default:  			printk("Error3\n"); diff --git a/drivers/input/touchscreen/hp680_ts_input.c b/drivers/input/touchscreen/hp680_ts_input.c index ee6c2f40cdf..e31c6c55b2e 100644 --- a/drivers/input/touchscreen/hp680_ts_input.c +++ b/drivers/input/touchscreen/hp680_ts_input.c @@ -66,7 +66,7 @@ static void do_softint(void *data)  	enable_irq(HP680_TS_IRQ);  } -static irqreturn_t hp680_ts_interrupt(int irq, void *dev, struct pt_regs *regs) +static irqreturn_t hp680_ts_interrupt(int irq, 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 3226830eea0..4cbcaa6a71e 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, struct pt_regs *regs) +static irqreturn_t mk712_interrupt(int irq, void *dev_id)  {  	unsigned char status;  	static int debounce = 1; @@ -88,7 +88,6 @@ static irqreturn_t mk712_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	static unsigned short last_y;  	spin_lock(&mk712_lock); -	input_regs(mk712_dev, regs);  	status = inb(mk712_io + MK712_STATUS); diff --git a/drivers/input/touchscreen/mtouch.c b/drivers/input/touchscreen/mtouch.c index 8647a905df8..3b4c61664b6 100644 --- a/drivers/input/touchscreen/mtouch.c +++ b/drivers/input/touchscreen/mtouch.c @@ -63,12 +63,11 @@ struct mtouch {  	char phys[32];  }; -static void mtouch_process_format_tablet(struct mtouch *mtouch, struct pt_regs *regs) +static void mtouch_process_format_tablet(struct mtouch *mtouch)  {  	struct input_dev *dev = mtouch->dev;  	if (MTOUCH_FORMAT_TABLET_LENGTH == ++mtouch->idx) { -		input_regs(dev, regs);  		input_report_abs(dev, ABS_X, MTOUCH_GET_XC(mtouch->data));  		input_report_abs(dev, ABS_Y, MTOUCH_MAX_YC - MTOUCH_GET_YC(mtouch->data));  		input_report_key(dev, BTN_TOUCH, MTOUCH_GET_TOUCHED(mtouch->data)); @@ -78,7 +77,7 @@ static void mtouch_process_format_tablet(struct mtouch *mtouch, struct pt_regs *  	}  } -static void mtouch_process_response(struct mtouch *mtouch, struct pt_regs *regs) +static void mtouch_process_response(struct mtouch *mtouch)  {  	if (MTOUCH_RESPONSE_END_BYTE == mtouch->data[mtouch->idx++]) {  		/* FIXME - process response */ @@ -90,16 +89,16 @@ static void mtouch_process_response(struct mtouch *mtouch, struct pt_regs *regs)  }  static irqreturn_t mtouch_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct mtouch* mtouch = serio_get_drvdata(serio);  	mtouch->data[mtouch->idx] = data;  	if (MTOUCH_FORMAT_TABLET_STATUS_BIT & mtouch->data[0]) -		mtouch_process_format_tablet(mtouch, regs); +		mtouch_process_format_tablet(mtouch);  	else if (MTOUCH_RESPONSE_BEGIN_BYTE == mtouch->data[0]) -		mtouch_process_response(mtouch, regs); +		mtouch_process_response(mtouch);  	else  		printk(KERN_DEBUG "mtouch.c: unknown/unsynchronized data from device, byte %x\n",mtouch->data[0]); diff --git a/drivers/input/touchscreen/penmount.c b/drivers/input/touchscreen/penmount.c index f7370109d43..6c7d0c2c76c 100644 --- a/drivers/input/touchscreen/penmount.c +++ b/drivers/input/touchscreen/penmount.c @@ -46,7 +46,7 @@ struct pm {  };  static irqreturn_t pm_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct pm *pm = serio_get_drvdata(serio);  	struct input_dev *dev = pm->dev; @@ -55,7 +55,6 @@ static irqreturn_t pm_interrupt(struct serio *serio,  	if (pm->data[0] & 0x80) {  		if (PM_MAX_LENGTH == ++pm->idx) { -			input_regs(dev, regs);  			input_report_abs(dev, ABS_X, pm->data[2] * 128 + pm->data[1]);  			input_report_abs(dev, ABS_Y, pm->data[4] * 128 + pm->data[3]);  			input_report_key(dev, BTN_TOUCH, !!(pm->data[0] & 0x40)); diff --git a/drivers/input/touchscreen/touchright.c b/drivers/input/touchscreen/touchright.c index 1c89fa53865..c74f74e57af 100644 --- a/drivers/input/touchscreen/touchright.c +++ b/drivers/input/touchscreen/touchright.c @@ -56,7 +56,7 @@ struct tr {  };  static irqreturn_t tr_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct tr *tr = serio_get_drvdata(serio);  	struct input_dev *dev = tr->dev; @@ -65,7 +65,6 @@ static irqreturn_t tr_interrupt(struct serio *serio,  	if ((tr->data[0] & TR_FORMAT_STATUS_MASK) == TR_FORMAT_STATUS_BYTE) {  		if (++tr->idx == TR_LENGTH) { -			input_regs(dev, regs);  			input_report_abs(dev, ABS_X,  				(tr->data[1] << 5) | (tr->data[2] >> 1));  			input_report_abs(dev, ABS_Y, diff --git a/drivers/input/touchscreen/touchwin.c b/drivers/input/touchscreen/touchwin.c index a7b4c755958..9911820fa2f 100644 --- a/drivers/input/touchscreen/touchwin.c +++ b/drivers/input/touchscreen/touchwin.c @@ -60,7 +60,7 @@ struct tw {  };  static irqreturn_t tw_interrupt(struct serio *serio, -		unsigned char data, unsigned int flags, struct pt_regs *regs) +		unsigned char data, unsigned int flags)  {  	struct tw *tw = serio_get_drvdata(serio);  	struct input_dev *dev = tw->dev; @@ -70,7 +70,6 @@ static irqreturn_t tw_interrupt(struct serio *serio,  		tw->data[tw->idx++] = data;  		/* verify length and that the two Y's are the same */  		if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) { -			input_regs(dev, regs);  			input_report_abs(dev, ABS_X, tw->data[0]);  			input_report_abs(dev, ABS_Y, tw->data[1]);  			input_report_key(dev, BTN_TOUCH, 1); diff --git a/drivers/isdn/act2000/act2000_isa.c b/drivers/isdn/act2000/act2000_isa.c index bc98d77c5ec..3014495b7ff 100644 --- a/drivers/isdn/act2000/act2000_isa.c +++ b/drivers/isdn/act2000/act2000_isa.c @@ -63,7 +63,7 @@ act2000_isa_detect(unsigned short portbase)  }  static irqreturn_t -act2000_isa_interrupt(int irq, void *dev_id, struct pt_regs *regs) +act2000_isa_interrupt(int irq, void *dev_id)  {          act2000_card *card = irq2card_map[irq];          u_char istatus; diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c index 5cfbe6a3801..0c937325a1b 100644 --- a/drivers/isdn/gigaset/bas-gigaset.c +++ b/drivers/isdn/gigaset/bas-gigaset.c @@ -454,7 +454,7 @@ inline static int update_basstate(struct bas_cardstate *ucs,   *	urb	USB request block   *		urb->context = inbuf structure for controller state   */ -static void read_ctrl_callback(struct urb *urb, struct pt_regs *regs) +static void read_ctrl_callback(struct urb *urb)  {  	struct inbuf_t *inbuf = urb->context;  	struct cardstate *cs = inbuf->cs; @@ -596,7 +596,7 @@ static int atread_submit(struct cardstate *cs, int timeout)   *	urb	USB request block   *		urb->context = controller state structure   */ -static void read_int_callback(struct urb *urb, struct pt_regs *regs) +static void read_int_callback(struct urb *urb)  {  	struct cardstate *cs = urb->context;  	struct bas_cardstate *ucs = cs->hw.bas; @@ -762,7 +762,7 @@ resubmit:   *	urb	USB request block of completed request   *		urb->context = bc_state structure   */ -static void read_iso_callback(struct urb *urb, struct pt_regs *regs) +static void read_iso_callback(struct urb *urb)  {  	struct bc_state *bcs;  	struct bas_bc_state *ubc; @@ -827,7 +827,7 @@ static void read_iso_callback(struct urb *urb, struct pt_regs *regs)   *	urb	USB request block of completed request   *		urb->context = isow_urbctx_t structure   */ -static void write_iso_callback(struct urb *urb, struct pt_regs *regs) +static void write_iso_callback(struct urb *urb)  {  	struct isow_urbctx_t *ucx;  	struct bas_bc_state *ubc; @@ -1415,7 +1415,7 @@ static void req_timeout(unsigned long data)   *	urb	USB request block of completed request   *		urb->context = hardware specific controller state structure   */ -static void write_ctrl_callback(struct urb *urb, struct pt_regs *regs) +static void write_ctrl_callback(struct urb *urb)  {  	struct bas_cardstate *ucs = urb->context;  	int rc; @@ -1661,7 +1661,7 @@ static void complete_cb(struct cardstate *cs)   *	urb	USB request block of completed request   *		urb->context = controller state structure   */ -static void write_command_callback(struct urb *urb, struct pt_regs *regs) +static void write_command_callback(struct urb *urb)  {  	struct cardstate *cs = urb->context;  	struct bas_cardstate *ucs = cs->hw.bas; diff --git a/drivers/isdn/gigaset/usb-gigaset.c b/drivers/isdn/gigaset/usb-gigaset.c index 6e05d9d4a51..4ffa9eb1c28 100644 --- a/drivers/isdn/gigaset/usb-gigaset.c +++ b/drivers/isdn/gigaset/usb-gigaset.c @@ -362,7 +362,7 @@ static void gigaset_modem_fill(unsigned long data)   *   *	It is called if the data was received from the device.   */ -static void gigaset_read_int_callback(struct urb *urb, struct pt_regs *regs) +static void gigaset_read_int_callback(struct urb *urb)  {  	struct inbuf_t *inbuf = urb->context;  	struct cardstate *cs = inbuf->cs; @@ -420,7 +420,7 @@ static void gigaset_read_int_callback(struct urb *urb, struct pt_regs *regs)  /* This callback routine is called when data was transmitted to the device. */ -static void gigaset_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void gigaset_write_bulk_callback(struct urb *urb)  {  	struct cardstate *cs = urb->context;  	unsigned long flags; diff --git a/drivers/isdn/hardware/avm/avmcard.h b/drivers/isdn/hardware/avm/avmcard.h index 3b431723c7c..d964f07e4a5 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, struct pt_regs *regs); +irqreturn_t b1_interrupt(int 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, struct pt_regs *regs); +irqreturn_t b1dma_interrupt(int 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 0c7061d5502..da272924771 100644 --- a/drivers/isdn/hardware/avm/b1.c +++ b/drivers/isdn/hardware/avm/b1.c @@ -485,7 +485,7 @@ void b1_parse_version(avmctrl_info *cinfo)  /* ------------------------------------------------------------- */ -irqreturn_t b1_interrupt(int interrupt, void *devptr, struct pt_regs *regs) +irqreturn_t b1_interrupt(int 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 a4beeb46c85..ddd47cdfdb1 100644 --- a/drivers/isdn/hardware/avm/b1dma.c +++ b/drivers/isdn/hardware/avm/b1dma.c @@ -628,7 +628,7 @@ static void b1dma_handle_interrupt(avmcard *card)  	spin_unlock(&card->lock);  } -irqreturn_t b1dma_interrupt(int interrupt, void *devptr, struct pt_regs *regs) +irqreturn_t b1dma_interrupt(int interrupt, void *devptr)  {  	avmcard *card = devptr; diff --git a/drivers/isdn/hardware/avm/c4.c b/drivers/isdn/hardware/avm/c4.c index 6c3d5f5f1f4..2a3eb38f0eb 100644 --- a/drivers/isdn/hardware/avm/c4.c +++ b/drivers/isdn/hardware/avm/c4.c @@ -713,7 +713,7 @@ static irqreturn_t c4_handle_interrupt(avmcard *card)  	return IRQ_HANDLED;  } -static irqreturn_t c4_interrupt(int interrupt, void *devptr, struct pt_regs *regs) +static irqreturn_t c4_interrupt(int interrupt, void *devptr)  {  	avmcard *card = devptr; diff --git a/drivers/isdn/hardware/avm/t1isa.c b/drivers/isdn/hardware/avm/t1isa.c index 5a2f854d55b..e47c60b0a8e 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, struct pt_regs *regs) +static irqreturn_t t1isa_interrupt(int interrupt, void *devptr)  {  	avmcard *card = devptr;  	avmctrl_info *cinfo = &card->ctrlinfo[0]; diff --git a/drivers/isdn/hardware/eicon/diva.c b/drivers/isdn/hardware/eicon/diva.c index 8ab8027f33c..ffa2afa77c2 100644 --- a/drivers/isdn/hardware/eicon/diva.c +++ b/drivers/isdn/hardware/eicon/diva.c @@ -71,8 +71,6 @@ DivaIdiReqFunc(29)  DivaIdiReqFunc(30)  DivaIdiReqFunc(31) -struct pt_regs; -  /*  **  LOCALS  */ @@ -515,7 +513,7 @@ diva_xdi_read(void *adapter, void *os_handle, void __user *dst,  } -irqreturn_t diva_os_irq_wrapper(int irq, void *context, struct pt_regs *regs) +irqreturn_t diva_os_irq_wrapper(int irq, void *context)  {  	diva_os_xdi_adapter_t *a = (diva_os_xdi_adapter_t *) context;  	diva_xdi_clear_interrupts_proc_t clear_int_proc; diff --git a/drivers/isdn/hardware/eicon/divasmain.c b/drivers/isdn/hardware/eicon/divasmain.c index b7dadba13e8..dae2e83dd5e 100644 --- a/drivers/isdn/hardware/eicon/divasmain.c +++ b/drivers/isdn/hardware/eicon/divasmain.c @@ -58,8 +58,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, -				struct pt_regs *regs); +extern irqreturn_t diva_os_irq_wrapper(int irq, 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/amd7930_fn.c b/drivers/isdn/hisax/amd7930_fn.c index 8ae08c41c85..bec59010bc6 100644 --- a/drivers/isdn/hisax/amd7930_fn.c +++ b/drivers/isdn/hisax/amd7930_fn.c @@ -733,7 +733,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, NULL); +			cs->irq_func(cs->irq, cs);                          if (cs->debug & L1_DEB_ISAC)  				debugl1(cs, "Amd7930: dbusy_timer_handler: Transmitter reset"); diff --git a/drivers/isdn/hisax/asuscom.c b/drivers/isdn/hisax/asuscom.c index 93ff941c48f..61e69e9c4aa 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, struct pt_regs *regs) +asuscom_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char val; @@ -194,7 +194,7 @@ asuscom_interrupt(int intno, void *dev_id, struct pt_regs *regs)  }  static irqreturn_t -asuscom_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs) +asuscom_interrupt_ipac(int intno, 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 729e906bdc6..d9028e9b9b8 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, struct pt_regs *regs) +avm_a1_interrupt(int intno, 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 574e252dfa4..c87fa3f9b29 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, struct pt_regs *regs) +avm_a1p_interrupt(int intno, 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 369afd3a3a4..b04a178e502 100644 --- a/drivers/isdn/hisax/avm_pci.c +++ b/drivers/isdn/hisax/avm_pci.c @@ -651,7 +651,7 @@ inithdlc(struct IsdnCardState *cs)  }  static irqreturn_t -avm_pcipnp_interrupt(int intno, void *dev_id, struct pt_regs *regs) +avm_pcipnp_interrupt(int intno, 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 87a630128a6..871310d56a6 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, struct pt_regs *regs) +bkm_interrupt(int intno, 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 dae090a9a48..34031064534 100644 --- a/drivers/isdn/hisax/bkm_a8.c +++ b/drivers/isdn/hisax/bkm_a8.c @@ -140,7 +140,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, struct pt_regs *regs) +bkm_interrupt_ipac(int intno, 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 e294fa3918f..7e95f04f13d 100644 --- a/drivers/isdn/hisax/diva.c +++ b/drivers/isdn/hisax/diva.c @@ -289,7 +289,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, struct pt_regs *regs) +diva_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char val, sval; @@ -319,7 +319,7 @@ diva_interrupt(int intno, void *dev_id, struct pt_regs *regs)  }  static irqreturn_t -diva_irq_ipac_isa(int intno, void *dev_id, struct pt_regs *regs) +diva_irq_ipac_isa(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char ista,val; @@ -630,7 +630,7 @@ Memhscx_int_main(struct IsdnCardState *cs, u_char val)  }  static irqreturn_t -diva_irq_ipac_pci(int intno, void *dev_id, struct pt_regs *regs) +diva_irq_ipac_pci(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char ista,val; @@ -685,7 +685,7 @@ Start_IPACPCI:  }  static irqreturn_t -diva_irq_ipacx_pci(int intno, void *dev_id, struct pt_regs *regs) +diva_irq_ipacx_pci(int intno, 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 3b3e318f607..fab3e4ea059 100644 --- a/drivers/isdn/hisax/elsa.c +++ b/drivers/isdn/hisax/elsa.c @@ -282,7 +282,7 @@ TimerRun(struct IsdnCardState *cs)  #include "hscx_irq.c"  static irqreturn_t -elsa_interrupt(int intno, void *dev_id, struct pt_regs *regs) +elsa_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_long flags; @@ -361,7 +361,7 @@ elsa_interrupt(int intno, void *dev_id, struct pt_regs *regs)  }  static irqreturn_t -elsa_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs) +elsa_interrupt_ipac(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_long flags; diff --git a/drivers/isdn/hisax/enternow_pci.c b/drivers/isdn/hisax/enternow_pci.c index 76c7d29d1b2..b45de9d408d 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, struct pt_regs *regs) +enpci_interrupt(int intno, 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 fe293726777..3efa719b6d2 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, struct pt_regs *regs) +gazel_interrupt(int intno, void *dev_id)  {  #define MAXCOUNT 5  	struct IsdnCardState *cs = dev_id; @@ -274,7 +274,7 @@ gazel_interrupt(int intno, void *dev_id, struct pt_regs *regs)  static irqreturn_t -gazel_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs) +gazel_interrupt_ipac(int intno, 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 0ca5e66d2f5..d852c9d998b 100644 --- a/drivers/isdn/hisax/hfc4s8s_l1.c +++ b/drivers/isdn/hisax/hfc4s8s_l1.c @@ -1268,7 +1268,7 @@ hfc4s8s_bh(hfc4s8s_hw * hw)  /* interrupt handler */  /*********************/  static irqreturn_t -hfc4s8s_interrupt(int intno, void *dev_id, struct pt_regs *regs) +hfc4s8s_interrupt(int intno, 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 1df60ca9481..93f60b56351 100644 --- a/drivers/isdn/hisax/hfc_pci.c +++ b/drivers/isdn/hisax/hfc_pci.c @@ -931,7 +931,7 @@ receive_emsg(struct IsdnCardState *cs)  /* Interrupt handler */  /*********************/  static irqreturn_t -hfcpci_interrupt(int intno, void *dev_id, struct pt_regs *regs) +hfcpci_interrupt(int intno, 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 b7e8e23be33..954d1536db1 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, struct pt_regs *regs) +hfcsx_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char exval; diff --git a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c index 6b88ecb5047..7105b043add 100644 --- a/drivers/isdn/hisax/hfc_usb.c +++ b/drivers/isdn/hisax/hfc_usb.c @@ -276,7 +276,7 @@ control_action_handler(hfcusb_data * hfc, int reg, int val, int action)  /* control completion routine handling background control cmds */  /***************************************************************/  static void -ctrl_complete(struct urb *urb, struct pt_regs *regs) +ctrl_complete(struct urb *urb)  {  	hfcusb_data *hfc = (hfcusb_data *) urb->context;  	ctrl_buft *buf; @@ -603,7 +603,7 @@ static int iso_packets[8] =  /* transmit completion routine for all ISO tx fifos */  /*****************************************************/  static void -tx_iso_complete(struct urb *urb, struct pt_regs *regs) +tx_iso_complete(struct urb *urb)  {  	iso_urb_struct *context_iso_urb = (iso_urb_struct *) urb->context;  	usb_fifo *fifo = context_iso_urb->owner_fifo; @@ -726,7 +726,7 @@ tx_iso_complete(struct urb *urb, struct pt_regs *regs)  /* receive completion routine for all ISO tx fifos   */  /*****************************************************/  static void -rx_iso_complete(struct urb *urb, struct pt_regs *regs) +rx_iso_complete(struct urb *urb)  {  	iso_urb_struct *context_iso_urb = (iso_urb_struct *) urb->context;  	usb_fifo *fifo = context_iso_urb->owner_fifo; @@ -919,7 +919,7 @@ collect_rx_frame(usb_fifo * fifo, __u8 * data, int len, int finish)  /* receive completion routine for all rx fifos */  /***********************************************/  static void -rx_complete(struct urb *urb, struct pt_regs *regs) +rx_complete(struct urb *urb)  {  	int len;  	int status; diff --git a/drivers/isdn/hisax/hfcscard.c b/drivers/isdn/hisax/hfcscard.c index 4e7f472877e..57670dc5034 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, struct pt_regs *regs) +hfcs_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char val, stat; diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h index 2f9d5118cea..159c5896061 100644 --- a/drivers/isdn/hisax/hisax.h +++ b/drivers/isdn/hisax/hisax.h @@ -941,7 +941,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 *, struct pt_regs *); +	int		(*irq_func) (int, void *);  	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/hisax_fcpcipnp.c b/drivers/isdn/hisax/hisax_fcpcipnp.c index 881a4165cfb..f6db55a752c 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, struct pt_regs *regs) +fcpci2_irq(int intno, void *dev)  {  	struct fritz_adapter *adapter = dev;  	unsigned char val; @@ -671,7 +671,7 @@ fcpci2_irq(int intno, void *dev, struct pt_regs *regs)  }  static irqreturn_t -fcpci_irq(int intno, void *dev, struct pt_regs *regs) +fcpci_irq(int intno, void *dev)  {  	struct fritz_adapter *adapter = dev;  	unsigned char sval; diff --git a/drivers/isdn/hisax/icc.c b/drivers/isdn/hisax/icc.c index 2cf7b665609..da706925d54 100644 --- a/drivers/isdn/hisax/icc.c +++ b/drivers/isdn/hisax/icc.c @@ -608,7 +608,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, NULL); +			cs->irq_func(cs->irq, cs);  		}  	}  } diff --git a/drivers/isdn/hisax/isac.c b/drivers/isdn/hisax/isac.c index 565b7892c26..282f349408b 100644 --- a/drivers/isdn/hisax/isac.c +++ b/drivers/isdn/hisax/isac.c @@ -609,7 +609,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, NULL); +			cs->irq_func(cs->irq, cs);  		}  	}  } diff --git a/drivers/isdn/hisax/isurf.c b/drivers/isdn/hisax/isurf.c index 715a1a8cd69..55de0695354 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, struct pt_regs *regs) +isurf_interrupt(int intno, 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 39717506c67..252d79de5e5 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, struct pt_regs *regs) +ix1micro_interrupt(int intno, 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 8c82519593a..a81d175d9f6 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, struct pt_regs *regs) +mic_interrupt(int intno, 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 1080508f3c6..4d89d3ea417 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, struct pt_regs *regs); +void netjet_interrupt(int intno, 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 0945336c28d..e5918c6fe73 100644 --- a/drivers/isdn/hisax/niccy.c +++ b/drivers/isdn/hisax/niccy.c @@ -122,8 +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, -		struct pt_regs *regs) +static irqreturn_t niccy_interrupt(int intno, 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 80025fd890f..c09ffb13533 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, struct pt_regs *regs) +netjet_s_interrupt(int intno, 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 37497162d53..8202cf34eca 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, struct pt_regs *regs) +netjet_u_interrupt(int intno, 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 e76042d323e..150ef68b4ae 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, struct pt_regs *regs) +s0box_interrupt(int intno, 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 d943d365890..c99b16690fb 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, struct pt_regs *regs) +saphir_interrupt(int intno, 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 8d8e8a29989..9522141f435 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, struct pt_regs *regs) +sedlbauer_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char val; @@ -306,7 +306,7 @@ sedlbauer_interrupt(int intno, void *dev_id, struct pt_regs *regs)  }  static irqreturn_t -sedlbauer_interrupt_ipac(int intno, void *dev_id, struct pt_regs *regs) +sedlbauer_interrupt_ipac(int intno, 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, struct pt_regs *regs) +sedlbauer_interrupt_isar(int intno, 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 a49b694eb73..02209500b3b 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, struct pt_regs *regs) +sportster_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char val; diff --git a/drivers/isdn/hisax/st5481_b.c b/drivers/isdn/hisax/st5481_b.c index aca2a3954b1..75d0f248e4e 100644 --- a/drivers/isdn/hisax/st5481_b.c +++ b/drivers/isdn/hisax/st5481_b.c @@ -161,7 +161,7 @@ static void led_blink(struct st5481_adapter *adapter)  	st5481_usb_device_ctrl_msg(adapter, GPIO_OUT, leds, NULL, NULL);  } -static void usb_b_out_complete(struct urb *urb, struct pt_regs *regs) +static void usb_b_out_complete(struct urb *urb)  {  	struct st5481_bcs *bcs = urb->context;  	struct st5481_b_out *b_out = &bcs->b_out; diff --git a/drivers/isdn/hisax/st5481_d.c b/drivers/isdn/hisax/st5481_d.c index 98adec44059..1d8c2618366 100644 --- a/drivers/isdn/hisax/st5481_d.c +++ b/drivers/isdn/hisax/st5481_d.c @@ -370,7 +370,7 @@ static void fifo_reseted(void *context)  	FsmEvent(&adapter->d_out.fsm, EV_DOUT_RESETED, NULL);  } -static void usb_d_out_complete(struct urb *urb, struct pt_regs *regs) +static void usb_d_out_complete(struct urb *urb)  {  	struct st5481_adapter *adapter = urb->context;  	struct st5481_d_out *d_out = &adapter->d_out; diff --git a/drivers/isdn/hisax/st5481_usb.c b/drivers/isdn/hisax/st5481_usb.c index b096b64b025..ff159512204 100644 --- a/drivers/isdn/hisax/st5481_usb.c +++ b/drivers/isdn/hisax/st5481_usb.c @@ -125,7 +125,7 @@ void st5481_ph_command(struct st5481_adapter *adapter, unsigned int command)   * Call the user provided completion routine and try   * to send the next request.   */ -static void usb_ctrl_complete(struct urb *urb, struct pt_regs *regs) +static void usb_ctrl_complete(struct urb *urb)  {  	struct st5481_adapter *adapter = urb->context;  	struct st5481_ctrl *ctrl = &adapter->ctrl; @@ -179,7 +179,7 @@ static void usb_ctrl_complete(struct urb *urb, struct pt_regs *regs)   * Decode the register values and schedule a private event.   * Called at interrupt.   */ -static void usb_int_complete(struct urb *urb, struct pt_regs *regs) +static void usb_int_complete(struct urb *urb)  {  	u8 *data = urb->transfer_buffer;  	u8 irqbyte; @@ -483,7 +483,7 @@ void st5481_release_isocpipes(struct urb* urb[2])   * called 50 times per second with 20 ISOC descriptors.    * Called at interrupt.   */ -static void usb_in_complete(struct urb *urb, struct pt_regs *regs) +static void usb_in_complete(struct urb *urb)  {  	struct st5481_in *in = urb->context;  	unsigned char *ptr; diff --git a/drivers/isdn/hisax/teleint.c b/drivers/isdn/hisax/teleint.c index e94dc6f5bd6..0909662b745 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, struct pt_regs *regs) +TeleInt_interrupt(int intno, 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 f94af0930a1..48581335f43 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, struct pt_regs *regs) +teles0_interrupt(int intno, 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 5cb712437da..6a5e379e077 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, struct pt_regs *regs) +teles3_interrupt(int intno, 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 dca446865f2..d09f6d033f1 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, struct pt_regs *regs) +telespci_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState *cs = dev_id;  	u_char hval, ival; diff --git a/drivers/isdn/hisax/w6692.c b/drivers/isdn/hisax/w6692.c index 0595293b865..1655341797a 100644 --- a/drivers/isdn/hisax/w6692.c +++ b/drivers/isdn/hisax/w6692.c @@ -400,7 +400,7 @@ W6692B_interrupt(struct IsdnCardState *cs, u_char bchan)  }  static irqreturn_t -W6692_interrupt(int intno, void *dev_id, struct pt_regs *regs) +W6692_interrupt(int intno, void *dev_id)  {  	struct IsdnCardState	*cs = dev_id;  	u_char			val, exval, v1; @@ -715,7 +715,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, NULL); +			cs->irq_func(cs->irq, cs);  			return;  		}  	} diff --git a/drivers/isdn/hysdn/boardergo.c b/drivers/isdn/hysdn/boardergo.c index 73afebdf80b..160f22fa594 100644 --- a/drivers/isdn/hysdn/boardergo.c +++ b/drivers/isdn/hysdn/boardergo.c @@ -33,7 +33,7 @@  /* The cards interrupt handler. Called from system */  /***************************************************/  static irqreturn_t -ergo_interrupt(int intno, void *dev_id, struct pt_regs *regs) +ergo_interrupt(int intno, 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 ba766930f08..13e7d219d1c 100644 --- a/drivers/isdn/pcbit/layer2.c +++ b/drivers/isdn/pcbit/layer2.c @@ -512,7 +512,7 @@ pcbit_firmware_bug(struct pcbit_dev *dev)  }  irqreturn_t -pcbit_irq_handler(int interrupt, void *devptr, struct pt_regs *regs) +pcbit_irq_handler(int interrupt, void *devptr)  {  	struct pcbit_dev *dev;  	u_char info, diff --git a/drivers/isdn/pcbit/layer2.h b/drivers/isdn/pcbit/layer2.h index 0d99da3a3e2..2ac295e1a6e 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 *, struct pt_regs *regs); +extern irqreturn_t pcbit_irq_handler(int interrupt, void *);  extern struct pcbit_dev * dev_pcbit[MAX_PCBIT_CARDS]; diff --git a/drivers/isdn/sc/init.c b/drivers/isdn/sc/init.c index a627e68023f..222ca7c08ba 100644 --- a/drivers/isdn/sc/init.c +++ b/drivers/isdn/sc/init.c @@ -35,7 +35,7 @@ module_param_array(irq, int, NULL, 0);  module_param_array(ram, int, NULL, 0);  module_param(do_reset, bool, 0); -extern irqreturn_t interrupt_handler(int, void *, struct pt_regs *); +extern irqreturn_t interrupt_handler(int, void *);  extern int sndpkt(int, int, int, struct sk_buff *);  extern int command(isdn_ctrl *);  extern int indicate_status(int, int, ulong, char*); diff --git a/drivers/isdn/sc/interrupt.c b/drivers/isdn/sc/interrupt.c index ae6263125ac..cd17de18cb7 100644 --- a/drivers/isdn/sc/interrupt.c +++ b/drivers/isdn/sc/interrupt.c @@ -45,7 +45,7 @@ static int get_card_from_irq(int irq)  /*   *    */ -irqreturn_t interrupt_handler(int interrupt, void *cardptr, struct pt_regs *regs) +irqreturn_t interrupt_handler(int interrupt, void *cardptr)  {  	RspMessage rcvmsg; diff --git a/drivers/macintosh/adb-iop.c b/drivers/macintosh/adb-iop.c index d56d400b6aa..1ffee7aaff2 100644 --- a/drivers/macintosh/adb-iop.c +++ b/drivers/macintosh/adb-iop.c @@ -30,7 +30,7 @@  /*#define DEBUG_ADB_IOP*/ -extern void iop_ism_irq(int, void *, struct pt_regs *); +extern void iop_ism_irq(int, void *);  static struct adb_request *current_req;  static struct adb_request *last_req; @@ -78,7 +78,7 @@ static void adb_iop_end_req(struct adb_request *req, int state)   * This will be called when a packet has been successfully sent.   */ -static void adb_iop_complete(struct iop_msg *msg, struct pt_regs *regs) +static void adb_iop_complete(struct iop_msg *msg)  {  	struct adb_request *req;  	uint flags; @@ -100,7 +100,7 @@ static void adb_iop_complete(struct iop_msg *msg, struct pt_regs *regs)   * commands or autopoll packets) are received.   */ -static void adb_iop_listen(struct iop_msg *msg, struct pt_regs *regs) +static void adb_iop_listen(struct iop_msg *msg)  {  	struct adb_iopmsg *amsg = (struct adb_iopmsg *) msg->message;  	struct adb_request *req; @@ -143,7 +143,7 @@ static void adb_iop_listen(struct iop_msg *msg, struct pt_regs *regs)  			req->reply_len = amsg->count + 1;  			memcpy(req->reply, &amsg->cmd, req->reply_len);  		} else { -			adb_input(&amsg->cmd, amsg->count + 1, regs, +			adb_input(&amsg->cmd, amsg->count + 1,  				  amsg->flags & ADB_IOP_AUTOPOLL);  		}  		memcpy(msg->reply, msg->message, IOP_MSG_LEN); diff --git a/drivers/macintosh/adb.c b/drivers/macintosh/adb.c index 360f93f6fcd..be0bd34ff6f 100644 --- a/drivers/macintosh/adb.c +++ b/drivers/macintosh/adb.c @@ -103,7 +103,7 @@ static void adbdev_init(void);  static int try_handler_change(int, int);  static struct adb_handler { -	void (*handler)(unsigned char *, int, struct pt_regs *, int); +	void (*handler)(unsigned char *, int, int);  	int original_address;  	int handler_id;  	int busy; @@ -522,7 +522,7 @@ bail:      the handler_id id it doesn't match. */  int  adb_register(int default_id, int handler_id, struct adb_ids *ids, -	     void (*handler)(unsigned char *, int, struct pt_regs *, int)) +	     void (*handler)(unsigned char *, int, int))  {  	int i; @@ -570,13 +570,13 @@ adb_unregister(int index)  }  void -adb_input(unsigned char *buf, int nb, struct pt_regs *regs, int autopoll) +adb_input(unsigned char *buf, int nb, int autopoll)  {  	int i, id;  	static int dump_adb_input = 0;  	unsigned long flags; -	void (*handler)(unsigned char *, int, struct pt_regs *, int); +	void (*handler)(unsigned char *, int, int);  	/* We skip keystrokes and mouse moves when the sleep process  	 * has been started. We stop autopoll, but this is another security @@ -597,7 +597,7 @@ adb_input(unsigned char *buf, int nb, struct pt_regs *regs, int autopoll)  		adb_handler[id].busy = 1;  	write_unlock_irqrestore(&adb_handler_lock, flags);  	if (handler != NULL) { -		(*handler)(buf, nb, regs, autopoll); +		(*handler)(buf, nb, autopoll);  		wmb();  		adb_handler[id].busy = 0;  	} diff --git a/drivers/macintosh/adbhid.c b/drivers/macintosh/adbhid.c index b7fb367808d..5066e7a8ea9 100644 --- a/drivers/macintosh/adbhid.c +++ b/drivers/macintosh/adbhid.c @@ -222,7 +222,7 @@ static struct adbhid *adbhid[16];  static void adbhid_probe(void); -static void adbhid_input_keycode(int, int, int, struct pt_regs *); +static void adbhid_input_keycode(int, int, int);  static void init_trackpad(int id);  static void init_trackball(int id); @@ -253,7 +253,7 @@ static struct adb_ids buttons_ids;  #define ADBMOUSE_MACALLY2	9	/* MacAlly 2-button mouse */  static void -adbhid_keyboard_input(unsigned char *data, int nb, struct pt_regs *regs, int apoll) +adbhid_keyboard_input(unsigned char *data, int nb, int apoll)  {  	int id = (data[0] >> 4) & 0x0f; @@ -266,13 +266,13 @@ adbhid_keyboard_input(unsigned char *data, int nb, struct pt_regs *regs, int apo  	/* first check this is from register 0 */  	if (nb != 3 || (data[0] & 3) != KEYB_KEYREG)  		return;		/* ignore it */ -	adbhid_input_keycode(id, data[1], 0, regs); +	adbhid_input_keycode(id, data[1], 0);  	if (!(data[2] == 0xff || (data[2] == 0x7f && data[1] == 0x7f))) -		adbhid_input_keycode(id, data[2], 0, regs); +		adbhid_input_keycode(id, data[2], 0);  }  static void -adbhid_input_keycode(int id, int keycode, int repeat, struct pt_regs *regs) +adbhid_input_keycode(int id, int keycode, int repeat)  {  	struct adbhid *ahid = adbhid[id];  	int up_flag; @@ -282,7 +282,6 @@ adbhid_input_keycode(int id, int keycode, int repeat, struct pt_regs *regs)  	switch (keycode) {  	case ADB_KEY_CAPSLOCK: /* Generate down/up events for CapsLock everytime. */ -		input_regs(ahid->input, regs);  		input_report_key(ahid->input, KEY_CAPSLOCK, 1);  		input_report_key(ahid->input, KEY_CAPSLOCK, 0);  		input_sync(ahid->input); @@ -338,7 +337,6 @@ adbhid_input_keycode(int id, int keycode, int repeat, struct pt_regs *regs)  	}  	if (adbhid[id]->keycode[keycode]) { -		input_regs(adbhid[id]->input, regs);  		input_report_key(adbhid[id]->input,  				 adbhid[id]->keycode[keycode], !up_flag);  		input_sync(adbhid[id]->input); @@ -349,7 +347,7 @@ adbhid_input_keycode(int id, int keycode, int repeat, struct pt_regs *regs)  }  static void -adbhid_mouse_input(unsigned char *data, int nb, struct pt_regs *regs, int autopoll) +adbhid_mouse_input(unsigned char *data, int nb, int autopoll)  {  	int id = (data[0] >> 4) & 0x0f; @@ -432,8 +430,6 @@ adbhid_mouse_input(unsigned char *data, int nb, struct pt_regs *regs, int autopo                  break;  	} -	input_regs(adbhid[id]->input, regs); -  	input_report_key(adbhid[id]->input, BTN_LEFT,   !((data[1] >> 7) & 1));  	input_report_key(adbhid[id]->input, BTN_MIDDLE, !((data[2] >> 7) & 1)); @@ -449,7 +445,7 @@ adbhid_mouse_input(unsigned char *data, int nb, struct pt_regs *regs, int autopo  }  static void -adbhid_buttons_input(unsigned char *data, int nb, struct pt_regs *regs, int autopoll) +adbhid_buttons_input(unsigned char *data, int nb, int autopoll)  {  	int id = (data[0] >> 4) & 0x0f; @@ -458,8 +454,6 @@ adbhid_buttons_input(unsigned char *data, int nb, struct pt_regs *regs, int auto  		return;  	} -	input_regs(adbhid[id]->input, regs); -  	switch (adbhid[id]->original_handler_id) {  	default:  	case 0x02: /* Adjustable keyboard button device */ diff --git a/drivers/macintosh/macio-adb.c b/drivers/macintosh/macio-adb.c index 4b08852c35e..57ccc19cbdb 100644 --- a/drivers/macintosh/macio-adb.c +++ b/drivers/macintosh/macio-adb.c @@ -64,7 +64,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, struct pt_regs *regs); +static irqreturn_t macio_adb_interrupt(int irq, 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); @@ -189,8 +189,7 @@ static int macio_send_request(struct adb_request *req, int sync)  	return 0;  } -static irqreturn_t macio_adb_interrupt(int irq, void *arg, -				       struct pt_regs *regs) +static irqreturn_t macio_adb_interrupt(int irq, void *arg)  {  	int i, n, err;  	struct adb_request *req = NULL; @@ -260,7 +259,7 @@ static irqreturn_t macio_adb_interrupt(int irq, void *arg,  		(*done)(req);  	}  	if (ibuf_len) -		adb_input(ibuf, ibuf_len, regs, autopoll); +		adb_input(ibuf, ibuf_len, autopoll);  	return IRQ_RETVAL(handled);  } diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c index c0f9d82e466..ade25b3fbb3 100644 --- a/drivers/macintosh/smu.c +++ b/drivers/macintosh/smu.c @@ -145,7 +145,7 @@ static void smu_start_cmd(void)  } -static irqreturn_t smu_db_intr(int irq, void *arg, struct pt_regs *regs) +static irqreturn_t smu_db_intr(int irq, void *arg)  {  	unsigned long flags;  	struct smu_cmd *cmd; @@ -224,7 +224,7 @@ static irqreturn_t smu_db_intr(int irq, void *arg, struct pt_regs *regs)  } -static irqreturn_t smu_msg_intr(int irq, void *arg, struct pt_regs *regs) +static irqreturn_t smu_msg_intr(int irq, 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 @@ -309,7 +309,7 @@ void smu_poll(void)  	gpio = pmac_do_feature_call(PMAC_FTR_READ_GPIO, NULL, smu->doorbell);  	if ((gpio & 7) == 7) -		smu_db_intr(smu->db_irq, smu, NULL); +		smu_db_intr(smu->db_irq, smu);  }  EXPORT_SYMBOL(smu_poll); diff --git a/drivers/macintosh/via-cuda.c b/drivers/macintosh/via-cuda.c index 7512d1c1520..64a07ccfe36 100644 --- a/drivers/macintosh/via-cuda.c +++ b/drivers/macintosh/via-cuda.c @@ -98,8 +98,8 @@ 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, struct pt_regs *regs); -static void cuda_input(unsigned char *buf, int nb, struct pt_regs *regs); +static irqreturn_t cuda_interrupt(int irq, void *arg); +static void cuda_input(unsigned char *buf, int nb);  void cuda_poll(void);  static int cuda_write(struct adb_request *req); @@ -442,7 +442,7 @@ cuda_poll(void)  }  static irqreturn_t -cuda_interrupt(int irq, void *arg, struct pt_regs *regs) +cuda_interrupt(int irq, void *arg)  {      int status;      struct adb_request *req = NULL; @@ -594,12 +594,12 @@ cuda_interrupt(int irq, void *arg, struct pt_regs *regs)  		(*done)(req);      }      if (ibuf_len) -	cuda_input(ibuf, ibuf_len, regs); +	cuda_input(ibuf, ibuf_len);      return IRQ_HANDLED;  }  static void -cuda_input(unsigned char *buf, int nb, struct pt_regs *regs) +cuda_input(unsigned char *buf, int nb)  {      int i; @@ -615,7 +615,7 @@ cuda_input(unsigned char *buf, int nb, struct pt_regs *regs)  	}  #endif /* CONFIG_XMON */  #ifdef CONFIG_ADB -	adb_input(buf+2, nb-2, regs, buf[1] & 0x40); +	adb_input(buf+2, nb-2, buf[1] & 0x40);  #endif /* CONFIG_ADB */  	break; diff --git a/drivers/macintosh/via-macii.c b/drivers/macintosh/via-macii.c index 2a2ffe06016..ad4bd579f61 100644 --- a/drivers/macintosh/via-macii.c +++ b/drivers/macintosh/via-macii.c @@ -77,7 +77,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, struct pt_regs *regs); +static irqreturn_t macii_interrupt(int irq, void *arg);  static void macii_retransmit(int);  static void macii_queue_poll(void); @@ -410,7 +410,7 @@ static void macii_start(void)   * Note: As of 21/10/97, the MacII ADB part works including timeout detection   * and retransmit (Talk to the last active device).   */ -static irqreturn_t macii_interrupt(int irq, void *arg, struct pt_regs *regs) +static irqreturn_t macii_interrupt(int irq, void *arg)  {  	int x, adbdir;  	unsigned long flags; @@ -602,8 +602,7 @@ static irqreturn_t macii_interrupt(int irq, void *arg, struct pt_regs *regs)  				current_req = req->next;  				if (req->done) (*req->done)(req);  			} else { -				adb_input(reply_buf, reply_ptr - reply_buf, -					  regs, 0); +				adb_input(reply_buf, reply_ptr - reply_buf, 0);  			}  			/* diff --git a/drivers/macintosh/via-maciisi.c b/drivers/macintosh/via-maciisi.c index 0129fcc3b18..789ee52086f 100644 --- a/drivers/macintosh/via-maciisi.c +++ b/drivers/macintosh/via-maciisi.c @@ -84,8 +84,8 @@ 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, struct pt_regs* regs); -static void maciisi_input(unsigned char *buf, int nb, struct pt_regs *regs); +static irqreturn_t maciisi_interrupt(int irq, void* arg); +static void maciisi_input(unsigned char *buf, int nb);  static int maciisi_init_via(void);  static void maciisi_poll(void);  static int maciisi_start(void); @@ -433,7 +433,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, struct pt_regs* regs) +maciisi_interrupt(int irq, void* arg)  {  	int status;  	struct adb_request *req; @@ -612,7 +612,7 @@ maciisi_interrupt(int irq, void* arg, struct pt_regs* regs)  			/* Obviously, we got it */  			reading_reply = 0;  		} else { -			maciisi_input(maciisi_rbuf, reply_ptr - maciisi_rbuf, regs); +			maciisi_input(maciisi_rbuf, reply_ptr - maciisi_rbuf);  		}  		maciisi_state = idle;  		status = via[B] & (TIP|TREQ); @@ -657,7 +657,7 @@ maciisi_interrupt(int irq, void* arg, struct pt_regs* regs)  }  static void -maciisi_input(unsigned char *buf, int nb, struct pt_regs *regs) +maciisi_input(unsigned char *buf, int nb)  {  #ifdef DEBUG_MACIISI_ADB      int i; @@ -665,7 +665,7 @@ maciisi_input(unsigned char *buf, int nb, struct pt_regs *regs)      switch (buf[0]) {      case ADB_PACKET: -	    adb_input(buf+2, nb-2, regs, buf[1] & 0x40); +	    adb_input(buf+2, nb-2, buf[1] & 0x40);  	    break;      default:  #ifdef DEBUG_MACIISI_ADB diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c index 4f04fd0956a..e63ea1c1f3c 100644 --- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c @@ -191,8 +191,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, struct pt_regs *regs); -static irqreturn_t gpio1_interrupt(int irq, void *arg, struct pt_regs *regs); +static irqreturn_t via_pmu_interrupt(int irq, void *arg); +static irqreturn_t gpio1_interrupt(int irq, 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, @@ -555,7 +555,7 @@ init_pmu(void)  		}  		if (pmu_state == idle)  			adb_int_pending = 1; -		via_pmu_interrupt(0, NULL, NULL); +		via_pmu_interrupt(0, NULL);  		udelay(10);  	} @@ -1215,7 +1215,7 @@ pmu_poll(void)  		return;  	if (disable_poll)  		return; -	via_pmu_interrupt(0, NULL, NULL); +	via_pmu_interrupt(0, NULL);  }  void @@ -1228,7 +1228,7 @@ pmu_poll_adb(void)  	/* Kicks ADB read when PMU is suspended */  	adb_int_pending = 1;  	do { -		via_pmu_interrupt(0, NULL, NULL); +		via_pmu_interrupt(0, NULL);  	} while (pmu_suspended && (adb_int_pending || pmu_state != idle  		|| req_awaiting_reply));  } @@ -1239,7 +1239,7 @@ pmu_wait_complete(struct adb_request *req)  	if (!via)  		return;  	while((pmu_state != idle && pmu_state != locked) || !req->complete) -		via_pmu_interrupt(0, NULL, NULL); +		via_pmu_interrupt(0, NULL);  }  /* This function loops until the PMU is idle and prevents it from @@ -1268,7 +1268,7 @@ pmu_suspend(void)  		spin_unlock_irqrestore(&pmu_lock, flags);  		if (req_awaiting_reply)  			adb_int_pending = 1; -		via_pmu_interrupt(0, NULL, NULL); +		via_pmu_interrupt(0, NULL);  		spin_lock_irqsave(&pmu_lock, flags);  		if (!adb_int_pending && pmu_state == idle && !req_awaiting_reply) {  #ifdef SUSPEND_USES_PMU @@ -1318,7 +1318,7 @@ pmu_resume(void)  /* Interrupt data could be the result data from an ADB cmd */  static void -pmu_handle_data(unsigned char *data, int len, struct pt_regs *regs) +pmu_handle_data(unsigned char *data, int len)  {  	unsigned char ints, pirq;  	int i = 0; @@ -1393,7 +1393,7 @@ next:  			if (!(pmu_kind == PMU_OHARE_BASED && len == 4  			      && data[1] == 0x2c && data[3] == 0xff  			      && (data[2] & ~1) == 0xf4)) -				adb_input(data+1, len-1, regs, 1); +				adb_input(data+1, len-1, 1);  #endif /* CONFIG_ADB */		  		}  	} @@ -1431,7 +1431,7 @@ next:  }  static struct adb_request* -pmu_sr_intr(struct pt_regs *regs) +pmu_sr_intr(void)  {  	struct adb_request *req;  	int bite = 0; @@ -1537,7 +1537,7 @@ pmu_sr_intr(struct pt_regs *regs)  }  static irqreturn_t -via_pmu_interrupt(int irq, void *arg, struct pt_regs *regs) +via_pmu_interrupt(int irq, void *arg)  {  	unsigned long flags;  	int intr; @@ -1567,7 +1567,7 @@ via_pmu_interrupt(int irq, void *arg, struct pt_regs *regs)  			pmu_irq_stats[0]++;  		}  		if (intr & SR_INT) { -			req = pmu_sr_intr(regs); +			req = pmu_sr_intr();  			if (req)  				break;  		} @@ -1613,7 +1613,7 @@ no_free_slot:  	/* Deal with interrupt datas outside of the lock */  	if (int_data >= 0) { -		pmu_handle_data(interrupt_data[int_data], interrupt_data_len[int_data], regs); +		pmu_handle_data(interrupt_data[int_data], interrupt_data_len[int_data]);  		spin_lock_irqsave(&pmu_lock, flags);  		++disable_poll;  		int_data_state[int_data] = int_data_empty; @@ -1638,7 +1638,7 @@ pmu_unlock(void)  static irqreturn_t -gpio1_interrupt(int irq, void *arg, struct pt_regs *regs) +gpio1_interrupt(int irq, void *arg)  {  	unsigned long flags; @@ -1651,7 +1651,7 @@ gpio1_interrupt(int irq, void *arg, struct pt_regs *regs)  		pmu_irq_stats[1]++;  		adb_int_pending = 1;  		spin_unlock_irqrestore(&pmu_lock, flags); -		via_pmu_interrupt(0, NULL, NULL); +		via_pmu_interrupt(0, NULL);  		return IRQ_HANDLED;  	}  	return IRQ_NONE; @@ -2116,7 +2116,7 @@ pmac_wakeup_devices(void)  	/* Force a poll of ADB interrupts */  	adb_int_pending = 1; -	via_pmu_interrupt(0, NULL, NULL); +	via_pmu_interrupt(0, NULL);  	/* Restart jiffies & scheduling */  	wakeup_decrementer(); diff --git a/drivers/macintosh/via-pmu68k.c b/drivers/macintosh/via-pmu68k.c index 9f4eff1d1a0..98ec915d040 100644 --- a/drivers/macintosh/via-pmu68k.c +++ b/drivers/macintosh/via-pmu68k.c @@ -107,7 +107,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, struct pt_regs *regs); +static irqreturn_t pmu_interrupt(int irq, void *arg);  static int pmu_send_request(struct adb_request *req, int sync);  static int pmu_autopoll(int devs);  void pmu_poll(void); @@ -118,8 +118,7 @@ static void pmu_start(void);  static void send_byte(int x);  static void recv_byte(void);  static void pmu_done(struct adb_request *req); -static void pmu_handle_data(unsigned char *data, int len, -			    struct pt_regs *regs); +static void pmu_handle_data(unsigned char *data, int len);  static void set_volume(int level);  static void pmu_enable_backlight(int on);  static void pmu_set_brightness(int level); @@ -573,7 +572,7 @@ pmu_poll(void)  }  static irqreturn_t -pmu_interrupt(int irq, void *dev_id, struct pt_regs *regs) +pmu_interrupt(int irq, void *dev_id)  {  	struct adb_request *req;  	int timeout, bite = 0;	/* to prevent compiler warning */ @@ -657,7 +656,7 @@ pmu_interrupt(int irq, void *dev_id, struct pt_regs *regs)  			}  			if (pmu_state == reading_intr) { -				pmu_handle_data(interrupt_data, data_index, regs); +				pmu_handle_data(interrupt_data, data_index);  			} else {  				req = current_req;  				current_req = req->next; @@ -701,7 +700,7 @@ pmu_done(struct adb_request *req)  /* Interrupt data could be the result data from an ADB cmd */  static void  -pmu_handle_data(unsigned char *data, int len, struct pt_regs *regs) +pmu_handle_data(unsigned char *data, int len)  {  	static int show_pmu_ints = 1; @@ -726,7 +725,7 @@ pmu_handle_data(unsigned char *data, int len, struct pt_regs *regs)  			}  			pmu_done(req);  		} else { -			adb_input(data+1, len-1, regs, 1); +			adb_input(data+1, len-1, 1);  		}  	} else {  		if (data[0] == 0x08 && len == 3) { diff --git a/drivers/media/common/saa7146_core.c b/drivers/media/common/saa7146_core.c index b88451e33c0..86cbdbcf9d7 100644 --- a/drivers/media/common/saa7146_core.c +++ b/drivers/media/common/saa7146_core.c @@ -230,7 +230,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, struct pt_regs *regs) +static irqreturn_t interrupt_hw(int irq, void *dev_id)  {  	struct saa7146_dev *dev = dev_id;  	u32 isr = 0; diff --git a/drivers/media/dvb/b2c2/flexcop-pci.c b/drivers/media/dvb/b2c2/flexcop-pci.c index eb2e6432c8c..06893243f3d 100644 --- a/drivers/media/dvb/b2c2/flexcop-pci.c +++ b/drivers/media/dvb/b2c2/flexcop-pci.c @@ -122,7 +122,7 @@ static void flexcop_pci_irq_check_work(void *data)  /* 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, struct pt_regs *regs) +static irqreturn_t flexcop_pci_isr(int irq, void *dev_id)  {  	struct flexcop_pci *fc_pci = dev_id;  	struct flexcop_device *fc = fc_pci->fc_dev; diff --git a/drivers/media/dvb/b2c2/flexcop-usb.c b/drivers/media/dvb/b2c2/flexcop-usb.c index 515954f96c9..2853ea1bdaf 100644 --- a/drivers/media/dvb/b2c2/flexcop-usb.c +++ b/drivers/media/dvb/b2c2/flexcop-usb.c @@ -328,7 +328,7 @@ static void flexcop_usb_process_frame(struct flexcop_usb *fc_usb, u8 *buffer, in  	fc_usb->tmp_buffer_length = l;  } -static void flexcop_usb_urb_complete(struct urb *urb, struct pt_regs *ptregs) +static void flexcop_usb_urb_complete(struct urb *urb)  {  	struct flexcop_usb *fc_usb = urb->context;  	int i; diff --git a/drivers/media/dvb/bt8xx/bt878.c b/drivers/media/dvb/bt8xx/bt878.c index 755822ee6e9..329a51c1856 100644 --- a/drivers/media/dvb/bt8xx/bt878.c +++ b/drivers/media/dvb/bt8xx/bt878.c @@ -266,7 +266,7 @@ EXPORT_SYMBOL(bt878_stop);  /* Interrupt service routine */  /*****************************/ -static irqreturn_t bt878_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t bt878_irq(int irq, void *dev_id)  {  	u32 stat, astat, mask;  	int count; diff --git a/drivers/media/dvb/cinergyT2/cinergyT2.c b/drivers/media/dvb/cinergyT2/cinergyT2.c index 410fa6d620f..ff7d4f56ced 100644 --- a/drivers/media/dvb/cinergyT2/cinergyT2.c +++ b/drivers/media/dvb/cinergyT2/cinergyT2.c @@ -238,7 +238,7 @@ static void cinergyt2_sleep (struct cinergyt2 *cinergyt2, int sleep)  	cinergyt2->sleeping = sleep;  } -static void cinergyt2_stream_irq (struct urb *urb, struct pt_regs *regs); +static void cinergyt2_stream_irq (struct urb *urb);  static int cinergyt2_submit_stream_urb (struct cinergyt2 *cinergyt2, struct urb *urb)  { @@ -258,7 +258,7 @@ static int cinergyt2_submit_stream_urb (struct cinergyt2 *cinergyt2, struct urb  	return err;  } -static void cinergyt2_stream_irq (struct urb *urb, struct pt_regs *regs) +static void cinergyt2_stream_irq (struct urb *urb)  {  	struct cinergyt2 *cinergyt2 = urb->context; diff --git a/drivers/media/dvb/dvb-usb/usb-urb.c b/drivers/media/dvb/dvb-usb/usb-urb.c index 572b2d9aa66..78035ee824c 100644 --- a/drivers/media/dvb/dvb-usb/usb-urb.c +++ b/drivers/media/dvb/dvb-usb/usb-urb.c @@ -11,7 +11,7 @@  #include "dvb-usb-common.h"  /* URB stuff for streaming */ -static void usb_urb_complete(struct urb *urb, struct pt_regs *ptregs) +static void usb_urb_complete(struct urb *urb)  {  	struct usb_data_stream *stream = urb->context;  	int ptype = usb_pipetype(urb->pipe); diff --git a/drivers/media/dvb/pluto2/pluto2.c b/drivers/media/dvb/pluto2/pluto2.c index 2310b2bfed4..8e4ce101eb2 100644 --- a/drivers/media/dvb/pluto2/pluto2.c +++ b/drivers/media/dvb/pluto2/pluto2.c @@ -306,7 +306,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, struct pt_regs *regs) +static irqreturn_t pluto_irq(int irq, void *dev_id)  {  	struct pluto *pluto = dev_id;  	u32 tscr; diff --git a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c index 234199875f5..60820deb900 100644 --- a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c +++ b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c @@ -732,7 +732,7 @@ static void ttusb_process_frame(struct ttusb *ttusb, u8 * data, int len)  	}  } -static void ttusb_iso_irq(struct urb *urb, struct pt_regs *ptregs) +static void ttusb_iso_irq(struct urb *urb)  {  	struct ttusb *ttusb = urb->context; diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c index de077a75719..a1c9fa9919e 100644 --- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c +++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c @@ -203,7 +203,7 @@ static u16 rc_keys[] = {  static void ttusb_dec_set_model(struct ttusb_dec *dec,  				enum ttusb_dec_model model); -static void ttusb_dec_handle_irq( struct urb *urb, struct pt_regs *regs) +static void ttusb_dec_handle_irq( struct urb *urb)  {  	struct ttusb_dec * dec = urb->context;  	char *buffer = dec->irq_buffer; @@ -755,7 +755,7 @@ static void ttusb_dec_process_urb_frame_list(unsigned long data)  	}  } -static void ttusb_dec_process_urb(struct urb *urb, struct pt_regs *ptregs) +static void ttusb_dec_process_urb(struct urb *urb)  {  	struct ttusb_dec *dec = urb->context; diff --git a/drivers/media/video/arv.c b/drivers/media/video/arv.c index 5c5e682a300..4861799eb43 100644 --- a/drivers/media/video/arv.c +++ b/drivers/media/video/arv.c @@ -549,7 +549,7 @@ static int ar_ioctl(struct inode *inode, struct file *file, unsigned int cmd,  /*   * Interrupt handler   */ -static void ar_interrupt(int irq, void *dev, struct pt_regs *regs) +static void ar_interrupt(int irq, 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 50dde82844e..6e1ddad9f0c 100644 --- a/drivers/media/video/bt8xx/bttv-driver.c +++ b/drivers/media/video/bt8xx/bttv-driver.c @@ -3753,7 +3753,7 @@ bttv_irq_switch_vbi(struct bttv *btv)  	spin_unlock(&btv->s_lock);  } -static irqreturn_t bttv_irq(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t bttv_irq(int irq, void *dev_id)  {  	u32 stat,astat;  	u32 dstat; diff --git a/drivers/media/video/cpia2/cpia2_usb.c b/drivers/media/video/cpia2/cpia2_usb.c index f4da0294149..28dc6a1a1e4 100644 --- a/drivers/media/video/cpia2/cpia2_usb.c +++ b/drivers/media/video/cpia2/cpia2_usb.c @@ -49,7 +49,7 @@ static int frame_sizes[] = {  #define FRAME_SIZE_PER_DESC   frame_sizes[cam->cur_alt]  static void process_frame(struct camera_data *cam); -static void cpia2_usb_complete(struct urb *urb, struct pt_regs *); +static void cpia2_usb_complete(struct urb *urb);  static int cpia2_usb_probe(struct usb_interface *intf,  			   const struct usb_device_id *id);  static void cpia2_usb_disconnect(struct usb_interface *intf); @@ -199,7 +199,7 @@ static void add_COM(struct camera_data *cam)   *   *  callback when incoming packet is received   *****************************************************************************/ -static void cpia2_usb_complete(struct urb *urb, struct pt_regs *regs) +static void cpia2_usb_complete(struct urb *urb)  {  	int i;  	unsigned char *cdata; diff --git a/drivers/media/video/cpia_usb.c b/drivers/media/video/cpia_usb.c index 2ee34a3b928..9da4726eb9b 100644 --- a/drivers/media/video/cpia_usb.c +++ b/drivers/media/video/cpia_usb.c @@ -109,7 +109,7 @@ static struct cpia_camera_ops cpia_usb_ops = {  static LIST_HEAD(cam_list);  static spinlock_t cam_list_lock_usb; -static void cpia_usb_complete(struct urb *urb, struct pt_regs *regs) +static void cpia_usb_complete(struct urb *urb)  {  	int i;  	char *cdata; diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c index f0340662e07..e4355fdc3b6 100644 --- a/drivers/media/video/cx88/cx88-alsa.c +++ b/drivers/media/video/cx88/cx88-alsa.c @@ -262,7 +262,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, struct pt_regs *regs) +static irqreturn_t cx8801_irq(int 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 d6d980774c2..6b23a4e6f66 100644 --- a/drivers/media/video/cx88/cx88-mpeg.c +++ b/drivers/media/video/cx88/cx88-mpeg.c @@ -376,7 +376,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, struct pt_regs *regs) +static irqreturn_t cx8802_irq(int 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 cb0c0eea20f..90e298d074d 100644 --- a/drivers/media/video/cx88/cx88-video.c +++ b/drivers/media/video/cx88/cx88-video.c @@ -1744,7 +1744,7 @@ static void cx8800_vid_irq(struct cx8800_dev *dev)  	}  } -static irqreturn_t cx8800_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t cx8800_irq(int irq, void *dev_id)  {  	struct cx8800_dev *dev = dev_id;  	struct cx88_core *core = dev->core; diff --git a/drivers/media/video/dabusb.c b/drivers/media/video/dabusb.c index b9ba95f5e02..b1012e92ee0 100644 --- a/drivers/media/video/dabusb.c +++ b/drivers/media/video/dabusb.c @@ -166,7 +166,7 @@ static int dabusb_free_buffers (pdabusb_t s)  	return 0;  }  /*-------------------------------------------------------------------*/ -static void dabusb_iso_complete (struct urb *purb, struct pt_regs *regs) +static void dabusb_iso_complete (struct urb *purb)  {  	pbuff_t b = purb->context;  	pdabusb_t s = b->s; diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c index 4350cc75b02..255a47dfb84 100644 --- a/drivers/media/video/em28xx/em28xx-core.c +++ b/drivers/media/video/em28xx/em28xx-core.c @@ -382,7 +382,7 @@ int em28xx_resolution_set(struct em28xx *dev)  /******************* isoc transfer handling ****************************/  #ifdef ENABLE_DEBUG_ISOC_FRAMES -static void em28xx_isoc_dump(struct urb *urb, struct pt_regs *regs) +static void em28xx_isoc_dump(struct urb *urb)  {  	int len = 0;  	int ntrans = 0; @@ -534,7 +534,7 @@ static inline void em28xx_isoc_video_copy(struct em28xx *dev,   * em28xx_isoIrq()   * handles the incoming isoc urbs and fills the frames from our inqueue   */ -static void em28xx_isocIrq(struct urb *urb, struct pt_regs *regs) +static void em28xx_isocIrq(struct urb *urb)  {  	struct em28xx *dev = urb->context;  	int i, status; @@ -545,7 +545,7 @@ static void em28xx_isocIrq(struct urb *urb, struct pt_regs *regs)  		return;  #ifdef ENABLE_DEBUG_ISOC_FRAMES  	if (isoc_debug>1) -		em28xx_isoc_dump(urb, regs); +		em28xx_isoc_dump(urb);  #endif  	if (urb->status == -ENOENT) diff --git a/drivers/media/video/et61x251/et61x251_core.c b/drivers/media/video/et61x251/et61x251_core.c index 8992b6e62b9..bc544cc7ccb 100644 --- a/drivers/media/video/et61x251/et61x251_core.c +++ b/drivers/media/video/et61x251/et61x251_core.c @@ -398,7 +398,7 @@ int et61x251_i2c_write(struct et61x251_device* cam, u8 address, u8 value)  /*****************************************************************************/ -static void et61x251_urb_complete(struct urb *urb, struct pt_regs* regs) +static void et61x251_urb_complete(struct urb *urb)  {  	struct et61x251_device* cam = urb->context;  	struct et61x251_frame_t** f; diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c index e278753f8f2..b083338823d 100644 --- a/drivers/media/video/meye.c +++ b/drivers/media/video/meye.c @@ -786,7 +786,7 @@ static void mchip_cont_compression_start(void)  /* Interrupt handling                                                       */  /****************************************************************************/ -static irqreturn_t meye_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t meye_irq(int irq, void *dev_id)  {  	u32 v;  	int reqnr; diff --git a/drivers/media/video/ov511.c b/drivers/media/video/ov511.c index 5d8cd283fcd..ce4886f1528 100644 --- a/drivers/media/video/ov511.c +++ b/drivers/media/video/ov511.c @@ -3503,7 +3503,7 @@ check_middle:  }  static void -ov51x_isoc_irq(struct urb *urb, struct pt_regs *regs) +ov51x_isoc_irq(struct urb *urb)  {  	int i;  	struct usb_ov511 *ov; diff --git a/drivers/media/video/planb.c b/drivers/media/video/planb.c index 3484e36b680..368d6e219fa 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 *, struct pt_regs *); +static void planb_irq(int, void *);  static void release_planb(void);  int init_planbs(struct video_init *); @@ -1316,7 +1316,7 @@ cmd_tab_data_end:  	return c1;  } -static void planb_irq(int irq, void *dev_id, struct pt_regs * regs) +static void planb_irq(int irq, void *dev_id)  {  	unsigned int stat, astat;  	struct planb *pb = (struct planb *)dev_id; diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c index 3d8cd0daf6a..f920e0ccacd 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c @@ -2552,7 +2552,7 @@ void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *hdw,int v)  } -static void pvr2_ctl_write_complete(struct urb *urb, struct pt_regs *regs) +static void pvr2_ctl_write_complete(struct urb *urb)  {  	struct pvr2_hdw *hdw = urb->context;  	hdw->ctl_write_pend_flag = 0; @@ -2561,7 +2561,7 @@ static void pvr2_ctl_write_complete(struct urb *urb, struct pt_regs *regs)  } -static void pvr2_ctl_read_complete(struct urb *urb, struct pt_regs *regs) +static void pvr2_ctl_read_complete(struct urb *urb)  {  	struct pvr2_hdw *hdw = urb->context;  	hdw->ctl_read_pend_flag = 0; diff --git a/drivers/media/video/pvrusb2/pvrusb2-io.c b/drivers/media/video/pvrusb2/pvrusb2-io.c index 1e393762546..70aa63eba0c 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-io.c +++ b/drivers/media/video/pvrusb2/pvrusb2-io.c @@ -429,7 +429,7 @@ static void pvr2_stream_done(struct pvr2_stream *sp)  	} while (0); mutex_unlock(&sp->mutex);  } -static void buffer_complete(struct urb *urb, struct pt_regs *regs) +static void buffer_complete(struct urb *urb)  {  	struct pvr2_buffer *bp = urb->context;  	struct pvr2_stream *sp; diff --git a/drivers/media/video/pwc/pwc-if.c b/drivers/media/video/pwc/pwc-if.c index 53c4b5790d5..c77b85cf3d8 100644 --- a/drivers/media/video/pwc/pwc-if.c +++ b/drivers/media/video/pwc/pwc-if.c @@ -682,7 +682,7 @@ static int pwc_rcv_short_packet(struct pwc_device *pdev, const struct pwc_frame_  /* This gets called for the Isochronous pipe (video). This is done in   * interrupt time, so it has to be fast, not crash, and not stall. Neat.   */ -static void pwc_isoc_handler(struct urb *urb, struct pt_regs *regs) +static void pwc_isoc_handler(struct urb *urb)  {  	struct pwc_device *pdev;  	int i, fst, flen; diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c index a39e0136ce3..4abf5c03a74 100644 --- a/drivers/media/video/saa7134/saa7134-alsa.c +++ b/drivers/media/video/saa7134/saa7134-alsa.c @@ -212,7 +212,7 @@ static void saa7134_irq_alsa_done(struct saa7134_dev *dev,   *   */ -static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t saa7134_alsa_irq(int 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 09aa62f61af..5c9e63dfbea 100644 --- a/drivers/media/video/saa7134/saa7134-core.c +++ b/drivers/media/video/saa7134/saa7134-core.c @@ -495,7 +495,7 @@ static void print_irqstatus(struct saa7134_dev *dev, int loop,  	printk("\n");  } -static irqreturn_t saa7134_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t saa7134_irq(int 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 2e3ba5f3145..bfcb860d14c 100644 --- a/drivers/media/video/saa7134/saa7134-oss.c +++ b/drivers/media/video/saa7134/saa7134-oss.c @@ -814,7 +814,7 @@ struct file_operations saa7134_mixer_fops = {  /* ------------------------------------------------------------------ */ -static irqreturn_t saa7134_oss_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t saa7134_oss_irq(int irq, void *dev_id)  {  	struct saa7134_dmasound *dmasound = dev_id;  	struct saa7134_dev *dev = dmasound->priv_data; diff --git a/drivers/media/video/se401.c b/drivers/media/video/se401.c index 67987baee77..7aeec574d7c 100644 --- a/drivers/media/video/se401.c +++ b/drivers/media/video/se401.c @@ -282,7 +282,7 @@ static void se401_auto_resetlevel(struct usb_se401 *se401)  }  /* irq handler for snapshot button */ -static void se401_button_irq(struct urb *urb, struct pt_regs *regs) +static void se401_button_irq(struct urb *urb)  {  	struct usb_se401 *se401 = urb->context;  	int status; @@ -318,7 +318,7 @@ exit:  		     __FUNCTION__, status);  } -static void se401_video_irq(struct urb *urb, struct pt_regs *regs) +static void se401_video_irq(struct urb *urb)  {  	struct usb_se401 *se401 = urb->context;  	int length = urb->actual_length; diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c index 48d138a7c72..3e0ff8a7846 100644 --- a/drivers/media/video/sn9c102/sn9c102_core.c +++ b/drivers/media/video/sn9c102/sn9c102_core.c @@ -518,7 +518,7 @@ sn9c102_find_eof_header(struct sn9c102_device* cam, void* mem, size_t len)  } -static void sn9c102_urb_complete(struct urb *urb, struct pt_regs* regs) +static void sn9c102_urb_complete(struct urb *urb)  {  	struct sn9c102_device* cam = urb->context;  	struct sn9c102_frame_t** f; diff --git a/drivers/media/video/stradis.c b/drivers/media/video/stradis.c index 5686547ba76..525d81288d5 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, struct pt_regs *regs) +static irqreturn_t saa7146_irq(int irq, void *dev_id)  {  	struct saa7146 *saa = dev_id;  	u32 stat, astat; diff --git a/drivers/media/video/stv680.c b/drivers/media/video/stv680.c index 2ba2991a214..87e11300181 100644 --- a/drivers/media/video/stv680.c +++ b/drivers/media/video/stv680.c @@ -582,7 +582,7 @@ static int stv680_set_pict (struct usb_stv *stv680, struct video_picture *p)  	return 0;  } -static void stv680_video_irq (struct urb *urb, struct pt_regs *regs) +static void stv680_video_irq (struct urb *urb)  {  	struct usb_stv *stv680 = urb->context;  	int length = urb->actual_length; diff --git a/drivers/media/video/usbvideo/konicawc.c b/drivers/media/video/usbvideo/konicawc.c index 4eee8be8831..abe21461909 100644 --- a/drivers/media/video/usbvideo/konicawc.c +++ b/drivers/media/video/usbvideo/konicawc.c @@ -387,7 +387,7 @@ static void resubmit_urb(struct uvd *uvd, struct urb *urb)  } -static void konicawc_isoc_irq(struct urb *urb, struct pt_regs *regs) +static void konicawc_isoc_irq(struct urb *urb)  {  	struct uvd *uvd = urb->context;  	struct konicawc *cam = (struct konicawc *)uvd->user_data; diff --git a/drivers/media/video/usbvideo/quickcam_messenger.c b/drivers/media/video/usbvideo/quickcam_messenger.c index 56e01b62241..9a26b9484aa 100644 --- a/drivers/media/video/usbvideo/quickcam_messenger.c +++ b/drivers/media/video/usbvideo/quickcam_messenger.c @@ -125,7 +125,7 @@ static void qcm_report_buttonstat(struct qcm *cam)  	}  } -static void qcm_int_irq(struct urb *urb, struct pt_regs *regs) +static void qcm_int_irq(struct urb *urb)  {  	int ret;  	struct uvd *uvd = urb->context; @@ -606,7 +606,7 @@ static void resubmit_urb(struct uvd *uvd, struct urb *urb)  		err("usb_submit_urb error (%d)", ret);  } -static void qcm_isoc_irq(struct urb *urb, struct pt_regs *regs) +static void qcm_isoc_irq(struct urb *urb)  {  	int len;  	struct uvd *uvd = urb->context; diff --git a/drivers/media/video/usbvideo/usbvideo.c b/drivers/media/video/usbvideo/usbvideo.c index 13b37c8c0d5..d8b88024bc2 100644 --- a/drivers/media/video/usbvideo/usbvideo.c +++ b/drivers/media/video/usbvideo/usbvideo.c @@ -1680,7 +1680,7 @@ static int usbvideo_CompressIsochronous(struct uvd *uvd, struct urb *urb)  	return totlen;  } -static void usbvideo_IsocIrq(struct urb *urb, struct pt_regs *regs) +static void usbvideo_IsocIrq(struct urb *urb)  {  	int i, ret, len;  	struct uvd *uvd = urb->context; diff --git a/drivers/media/video/vino.c b/drivers/media/video/vino.c index d1e04f7c530..6b6dff4d236 100644 --- a/drivers/media/video/vino.c +++ b/drivers/media/video/vino.c @@ -2325,7 +2325,7 @@ static void vino_capture_tasklet(unsigned long channel) {  	}  } -static irqreturn_t vino_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t vino_interrupt(int irq, void *dev_id)  {  	u32 ctrl, intr;  	unsigned int fc_a, fc_b; diff --git a/drivers/media/video/w9968cf.c b/drivers/media/video/w9968cf.c index 2912326a5ae..ddce2fb8342 100644 --- a/drivers/media/video/w9968cf.c +++ b/drivers/media/video/w9968cf.c @@ -417,7 +417,7 @@ static int w9968cf_write_fsb(struct w9968cf_device*, u16* data);  static int w9968cf_write_sb(struct w9968cf_device*, u16 value);  static int w9968cf_read_sb(struct w9968cf_device*);  static int w9968cf_upload_quantizationtables(struct w9968cf_device*); -static void w9968cf_urb_complete(struct urb *urb, struct pt_regs *regs); +static void w9968cf_urb_complete(struct urb *urb);  /* Low-level I2C (SMBus) I/O */  static int w9968cf_smbus_start(struct w9968cf_device*); @@ -781,7 +781,7 @@ static int w9968cf_allocate_memory(struct w9968cf_device* cam)    If there are no requested frames in the FIFO list, packets are collected into    a temporary buffer.    --------------------------------------------------------------------------*/ -static void w9968cf_urb_complete(struct urb *urb, struct pt_regs *regs) +static void w9968cf_urb_complete(struct urb *urb)  {  	struct w9968cf_device* cam = (struct w9968cf_device*)urb->context;  	struct w9968cf_frame_t** f; diff --git a/drivers/media/video/zc0301/zc0301_core.c b/drivers/media/video/zc0301/zc0301_core.c index 1b2be2d2a3e..5b556342442 100644 --- a/drivers/media/video/zc0301/zc0301_core.c +++ b/drivers/media/video/zc0301/zc0301_core.c @@ -303,7 +303,7 @@ int zc0301_i2c_write(struct zc0301_device* cam, u16 address, u16 value)  /*****************************************************************************/ -static void zc0301_urb_complete(struct urb *urb, struct pt_regs* regs) +static void zc0301_urb_complete(struct urb *urb)  {  	struct zc0301_device* cam = urb->context;  	struct zc0301_frame_t** f; diff --git a/drivers/media/video/zoran_device.c b/drivers/media/video/zoran_device.c index 3cbac2e8aed..d9d5020a222 100644 --- a/drivers/media/video/zoran_device.c +++ b/drivers/media/video/zoran_device.c @@ -1408,8 +1408,7 @@ error_handler (struct zoran *zr,  irqreturn_t  zoran_irq (int             irq, -	   void           *dev_id, -	   struct pt_regs *regs) +	   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 f19705cbdb3..37fa86a3408 100644 --- a/drivers/media/video/zoran_device.h +++ b/drivers/media/video/zoran_device.h @@ -64,9 +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, -			     struct pt_regs *regs); +extern irqreturn_t zoran_irq(int irq, void *dev_id);  /* JPEG codec access */  extern void jpeg_start(struct zoran *zr); diff --git a/drivers/media/video/zr36120.c b/drivers/media/video/zr36120.c index b5ffe53c40d..0cbf564388a 100644 --- a/drivers/media/video/zr36120.c +++ b/drivers/media/video/zr36120.c @@ -335,13 +335,13 @@ DEBUG(printk(CARD_DEBUG "turning off\n",CARD));  }  static -void zoran_irq(int irq, void *dev_id, struct pt_regs * regs) +void zoran_irq(int irq, void *dev_id)  {  	u32 stat,estat;  	int count = 0;  	struct zoran *ztv = dev_id; -	UNUSED(irq); UNUSED(regs); +	UNUSED(irq);  	for (;;) {  		/* get/clear interrupt status bits */  		stat=zrread(ZORAN_ISR); diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 29d0635cce1..e5c72719deb 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -122,7 +122,7 @@ static DECLARE_WAIT_QUEUE_HEAD(mpt_waitq);  /*   *  Forward protos...   */ -static irqreturn_t mpt_interrupt(int irq, void *bus_id, struct pt_regs *r); +static irqreturn_t mpt_interrupt(int irq, 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, @@ -351,7 +351,6 @@ mpt_reply(MPT_ADAPTER *ioc, u32 pa)   *	mpt_interrupt - MPT adapter (IOC) specific interrupt handler.   *	@irq: irq number (not used)   *	@bus_id: bus identifier cookie == pointer to MPT_ADAPTER structure - *	@r: pt_regs pointer (not used)   *   *	This routine is registered via the request_irq() kernel API call,   *	and handles all interrupts generated from a specific MPT adapter @@ -365,7 +364,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, struct pt_regs *r) +mpt_interrupt(int irq, 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 dec41cc8993..62f1ac08332 100644 --- a/drivers/message/i2o/pci.c +++ b/drivers/message/i2o/pci.c @@ -224,12 +224,11 @@ 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 - *	@r: pointer to registers   *   *	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, struct pt_regs *r) +static irqreturn_t i2o_pci_interrupt(int irq, 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 2bf32721eb5..149810a084f 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, struct pt_regs *regs) +static irqreturn_t ucb1x00_irq(int irqnr, 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 634d538ccd1..48d5abebfc3 100644 --- a/drivers/misc/ibmasm/ibmasm.h +++ b/drivers/misc/ibmasm/ibmasm.h @@ -196,10 +196,10 @@ extern int ibmasm_send_os_state(struct service_processor *sp, int os_state);  /* low level message processing */  extern int ibmasm_send_i2o_message(struct service_processor *sp); -extern irqreturn_t ibmasm_interrupt_handler(int irq, void * dev_id, struct pt_regs *regs); +extern irqreturn_t ibmasm_interrupt_handler(int irq, void * dev_id);  /* remote console */ -extern void ibmasm_handle_mouse_interrupt(struct service_processor *sp, struct pt_regs *regs); +extern void ibmasm_handle_mouse_interrupt(struct service_processor *sp);  extern int ibmasm_init_remote_input_dev(struct service_processor *sp);  extern void ibmasm_free_remote_input_dev(struct service_processor *sp); diff --git a/drivers/misc/ibmasm/lowlevel.c b/drivers/misc/ibmasm/lowlevel.c index 47949a2c7e9..a3c589b7cbf 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, struct pt_regs *regs) +irqreturn_t ibmasm_interrupt_handler(int irq, void * dev_id)  {  	u32	mfa;  	struct service_processor *sp = (struct service_processor *)dev_id; @@ -67,7 +67,7 @@ irqreturn_t ibmasm_interrupt_handler(int irq, void * dev_id, struct pt_regs *reg  	dbg("respond to interrupt at %s\n", get_timestamp(tsbuf));  	if (mouse_interrupt_pending(sp)) { -		ibmasm_handle_mouse_interrupt(sp, regs); +		ibmasm_handle_mouse_interrupt(sp);  		clear_mouse_interrupt(sp);  	} diff --git a/drivers/misc/ibmasm/remote.c b/drivers/misc/ibmasm/remote.c index 0f9e3aa34d0..a40fda6c402 100644 --- a/drivers/misc/ibmasm/remote.c +++ b/drivers/misc/ibmasm/remote.c @@ -158,12 +158,10 @@ static void print_input(struct remote_input *input)  	}  } -static void send_mouse_event(struct input_dev *dev, struct pt_regs *regs, -		struct remote_input *input) +static void send_mouse_event(struct input_dev *dev, struct remote_input *input)  {  	unsigned char buttons = input->mouse_buttons; -	input_regs(dev, regs);  	input_report_abs(dev, ABS_X, input->data.mouse.x);  	input_report_abs(dev, ABS_Y, input->data.mouse.y);  	input_report_key(dev, BTN_LEFT, buttons & REMOTE_BUTTON_LEFT); @@ -172,7 +170,7 @@ static void send_mouse_event(struct input_dev *dev, struct pt_regs *regs,  	input_sync(dev);  } -static void send_keyboard_event(struct input_dev *dev, struct pt_regs *regs, +static void send_keyboard_event(struct input_dev *dev,  		struct remote_input *input)  {  	unsigned int key; @@ -182,13 +180,11 @@ static void send_keyboard_event(struct input_dev *dev, struct pt_regs *regs,  		key = xlate_high[code & 0xff];  	else  		key = xlate[code]; -	input_regs(dev, regs);  	input_report_key(dev, key, (input->data.keyboard.key_down) ? 1 : 0);  	input_sync(dev);  } -void ibmasm_handle_mouse_interrupt(struct service_processor *sp, -		struct pt_regs *regs) +void ibmasm_handle_mouse_interrupt(struct service_processor *sp)  {  	unsigned long reader;  	unsigned long writer; @@ -203,9 +199,9 @@ void ibmasm_handle_mouse_interrupt(struct service_processor *sp,  		print_input(&input);  		if (input.type == INPUT_TYPE_MOUSE) { -			send_mouse_event(sp->remote.mouse_dev, regs, &input); +			send_mouse_event(sp->remote.mouse_dev, &input);  		} else if (input.type == INPUT_TYPE_KEYBOARD) { -			send_keyboard_event(sp->remote.keybd_dev, regs, &input); +			send_keyboard_event(sp->remote.keybd_dev, &input);  		} else  			break; diff --git a/drivers/misc/lkdtm.c b/drivers/misc/lkdtm.c index e689ee94ac3..bbdba7b37e1 100644 --- a/drivers/misc/lkdtm.c +++ b/drivers/misc/lkdtm.c @@ -127,15 +127,14 @@ module_param(cpoint_count, int, 06444);  MODULE_PARM_DESC(cpoint_count, "Crash Point Count, number of times the \  				crash point is to be hit to trigger action"); -unsigned int jp_do_irq(unsigned int irq, struct pt_regs *regs) +unsigned int jp_do_irq(unsigned int irq)  {  	lkdtm_handler();  	jprobe_return();  	return 0;  } -irqreturn_t jp_handle_irq_event(unsigned int irq, struct pt_regs *regs, -			struct irqaction *action) +irqreturn_t jp_handle_irq_event(unsigned int irq, struct irqaction *action)  {  	lkdtm_handler();  	jprobe_return(); diff --git a/drivers/misc/tifm_7xx1.c b/drivers/misc/tifm_7xx1.c index a7ed3044618..b1748669e05 100644 --- a/drivers/misc/tifm_7xx1.c +++ b/drivers/misc/tifm_7xx1.c @@ -67,7 +67,7 @@ static void tifm_7xx1_remove_media(void *adapter)  	class_device_put(&fm->cdev);  } -static irqreturn_t tifm_7xx1_isr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t tifm_7xx1_isr(int irq, void *dev_id)  {  	struct tifm_adapter *fm = dev_id;  	unsigned int irq_status; diff --git a/drivers/mmc/at91_mci.c b/drivers/mmc/at91_mci.c index cb142a66098..494b23fb0a0 100644 --- a/drivers/mmc/at91_mci.c +++ b/drivers/mmc/at91_mci.c @@ -661,7 +661,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, struct pt_regs *regs) +static irqreturn_t at91_mci_irq(int irq, void *devid)  {  	struct at91mci_host *host = devid;  	int completed = 0; @@ -754,7 +754,7 @@ static irqreturn_t at91_mci_irq(int irq, void *devid, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t at91_mmc_det_irq(int irq, void *_host, struct pt_regs *regs) +static irqreturn_t at91_mmc_det_irq(int irq, void *_host)  {  	struct at91mci_host *host = _host;  	int present = !at91_get_gpio_value(irq); diff --git a/drivers/mmc/au1xmmc.c b/drivers/mmc/au1xmmc.c index 61268da1395..53ffcbb14a9 100644 --- a/drivers/mmc/au1xmmc.c +++ b/drivers/mmc/au1xmmc.c @@ -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, struct pt_regs *regs) +static irqreturn_t au1xmmc_irq(int irq, void *dev_id)  {  	u32 status; diff --git a/drivers/mmc/imxmmc.c b/drivers/mmc/imxmmc.c index 1b79dd271aa..659d4a822cc 100644 --- a/drivers/mmc/imxmmc.c +++ b/drivers/mmc/imxmmc.c @@ -635,7 +635,7 @@ static int imxmci_cpu_driven_data(struct imxmci_host *host, unsigned int *pstat)  	return trans_done;  } -static void imxmci_dma_irq(int dma, void *devid, struct pt_regs *regs) +static void imxmci_dma_irq(int dma, void *devid)  {  	struct imxmci_host *host = devid;  	uint32_t stat = MMC_STATUS; @@ -646,7 +646,7 @@ static void imxmci_dma_irq(int dma, void *devid, struct pt_regs *regs)  	tasklet_schedule(&host->tasklet);  } -static irqreturn_t imxmci_irq(int irq, void *devid, struct pt_regs *regs) +static irqreturn_t imxmci_irq(int irq, void *devid)  {  	struct imxmci_host *host = devid;  	uint32_t stat = MMC_STATUS; diff --git a/drivers/mmc/mmci.c b/drivers/mmc/mmci.c index 2b5a0cc9ea5..828503c4ee6 100644 --- a/drivers/mmc/mmci.c +++ b/drivers/mmc/mmci.c @@ -261,7 +261,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, struct pt_regs *regs) +static irqreturn_t mmci_pio_irq(int irq, void *dev_id)  {  	struct mmci_host *host = dev_id;  	void __iomem *base = host->base; @@ -347,7 +347,7 @@ static irqreturn_t mmci_pio_irq(int irq, void *dev_id, struct pt_regs *regs)  /*   * Handle completion of command and data transfers.   */ -static irqreturn_t mmci_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mmci_irq(int irq, void *dev_id)  {  	struct mmci_host *host = dev_id;  	u32 status; diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c index 52c9e52e6b7..762fa289589 100644 --- a/drivers/mmc/omap.c +++ b/drivers/mmc/omap.c @@ -377,7 +377,7 @@ static inline void mmc_omap_report_irq(u16 status)  		}  } -static irqreturn_t mmc_omap_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mmc_omap_irq(int irq, void *dev_id)  {  	struct mmc_omap_host * host = (struct mmc_omap_host *)dev_id;  	u16 status; @@ -514,7 +514,7 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t mmc_omap_switch_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mmc_omap_switch_irq(int irq, void *dev_id)  {  	struct mmc_omap_host *host = (struct mmc_omap_host *) dev_id; diff --git a/drivers/mmc/pxamci.c b/drivers/mmc/pxamci.c index ef350908478..a526698b8c9 100644 --- a/drivers/mmc/pxamci.c +++ b/drivers/mmc/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, struct pt_regs *regs) +static irqreturn_t pxamci_irq(int irq, void *devid)  {  	struct pxamci_host *host = devid;  	unsigned int ireg; @@ -399,13 +399,13 @@ static struct mmc_host_ops pxamci_ops = {  	.set_ios	= pxamci_set_ios,  }; -static void pxamci_dma_irq(int dma, void *devid, struct pt_regs *regs) +static void pxamci_dma_irq(int dma, void *devid)  {  	printk(KERN_ERR "DMA%d: IRQ???\n", dma);  	DCSR(dma) = DCSR_STARTINTR|DCSR_ENDINTR|DCSR_BUSERR;  } -static irqreturn_t pxamci_detect_irq(int irq, void *devid, struct pt_regs *regs) +static irqreturn_t pxamci_detect_irq(int irq, void *devid)  {  	struct pxamci_host *host = mmc_priv(devid); diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 20711acb012..6d024342b2f 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -985,7 +985,7 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)  	}  } -static irqreturn_t sdhci_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sdhci_irq(int irq, void *dev_id)  {  	irqreturn_t result;  	struct sdhci_host* host = dev_id; diff --git a/drivers/mmc/wbsd.c b/drivers/mmc/wbsd.c index 88c6f0b129f..ced309b37a8 100644 --- a/drivers/mmc/wbsd.c +++ b/drivers/mmc/wbsd.c @@ -1256,7 +1256,7 @@ end:   * Interrupt handling   */ -static irqreturn_t wbsd_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t wbsd_irq(int irq, void *dev_id)  {  	struct wbsd_host *host = dev_id;  	int isr; diff --git a/drivers/net/3c501.c b/drivers/net/3c501.c index 1b82bccd8c7..11d170afa9c 100644 --- a/drivers/net/3c501.c +++ b/drivers/net/3c501.c @@ -496,7 +496,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 - * @regs: Register data (surplus to our requirements)   *   * Handle the ether interface interrupts. The 3c501 needs a lot more   * hand holding than most cards. In particular we get a transmit interrupt @@ -515,7 +514,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, struct pt_regs *regs) +static irqreturn_t el_interrupt(int irq, 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 39d33247475..c56a2c62f7d 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, struct pt_regs *regs); +static irqreturn_t el_interrupt(int irq, 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 ab8230a68be..458cb9cbe91 100644 --- a/drivers/net/3c505.c +++ b/drivers/net/3c505.c @@ -649,7 +649,7 @@ static void receive_packet(struct net_device *dev, int len)   *   ******************************************************/ -static irqreturn_t elp_interrupt(int irq, void *dev_id, struct pt_regs *reg_ptr) +static irqreturn_t elp_interrupt(int irq, void *dev_id)  {  	int len;  	int dlen; diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c index 8205a535c5b..aa43563610a 100644 --- a/drivers/net/3c507.c +++ b/drivers/net/3c507.c @@ -286,7 +286,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, struct pt_regs *regs); +static irqreturn_t el16_interrupt(int irq, void *dev_id);  static void el16_rx(struct net_device *dev);  static int	el16_close(struct net_device *dev);  static struct net_device_stats *el16_get_stats(struct net_device *dev); @@ -543,7 +543,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, struct pt_regs *regs) +static irqreturn_t el16_interrupt(int irq, 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 b936373ab2a..7ad0a54779c 100644 --- a/drivers/net/3c509.c +++ b/drivers/net/3c509.c @@ -191,7 +191,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, struct pt_regs *regs); +static irqreturn_t el3_interrupt(int irq, 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); @@ -910,7 +910,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, struct pt_regs *regs) +el3_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct el3_private *lp; @@ -1006,7 +1006,7 @@ el3_interrupt(int irq, void *dev_id, struct pt_regs *regs)  static void el3_poll_controller(struct net_device *dev)  {  	disable_irq(dev->irq); -	el3_interrupt(dev->irq, dev, NULL); +	el3_interrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c index 91f2232e605..c307ce66145 100644 --- a/drivers/net/3c515.c +++ b/drivers/net/3c515.c @@ -373,8 +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, -				    struct pt_regs *regs); +static irqreturn_t corkscrew_interrupt(int irq, 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); @@ -1116,8 +1115,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, -				    struct pt_regs *regs) +static irqreturn_t corkscrew_interrupt(int irq, 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 cf8a0bc3bf3..1c97271112d 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, struct pt_regs *reg_ptr); +static irqreturn_t elmc_interrupt(int irq, 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 *); @@ -900,14 +900,14 @@ static void *alloc_rfa(struct net_device *dev, void *ptr)   */  static irqreturn_t -elmc_interrupt(int irq, void *dev_id, struct pt_regs *reg_ptr) +elmc_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	unsigned short stat;  	struct priv *p;  	if (dev == NULL) { -		printk(KERN_ERR "elmc-interrupt: irq %d for unknown device.\n", (int) -(((struct pt_regs *) reg_ptr)->orig_eax + 2)); +		printk(KERN_ERR "elmc-interrupt: irq %d for unknown device.\n", irq);  		return IRQ_NONE;  	} else if (!netif_running(dev)) {  		/* The 3c523 has this habit of generating interrupts during the diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c index 625e57dc3b4..d516c3225ca 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, struct pt_regs *regs); +static irqreturn_t mc32_interrupt(int irq, 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); @@ -1316,7 +1316,7 @@ static void mc32_tx_ring(struct net_device *dev)   *   */ -static irqreturn_t mc32_interrupt(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t mc32_interrupt(int irq, 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 df42e28cc80..80bdcf84623 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, struct pt_regs *regs); -static irqreturn_t boomerang_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t vortex_interrupt(int irq, void *dev_id); +static irqreturn_t boomerang_interrupt(int irq, 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); @@ -794,7 +794,7 @@ static void poll_vortex(struct net_device *dev)  	unsigned long flags;  	local_save_flags(flags);  	local_irq_disable(); -	(vp->full_bus_master_rx ? boomerang_interrupt:vortex_interrupt)(dev->irq,dev,NULL); +	(vp->full_bus_master_rx ? boomerang_interrupt:vortex_interrupt)(dev->irq,dev);  	local_irq_restore(flags);  }  #endif @@ -1849,9 +1849,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, NULL); +				boomerang_interrupt(dev->irq, dev);  			else -				vortex_interrupt(dev->irq, dev, NULL); +				vortex_interrupt(dev->irq, dev);  			local_irq_restore(flags);  		}  	} @@ -2149,7 +2149,7 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)   */  static irqreturn_t -vortex_interrupt(int irq, void *dev_id, struct pt_regs *regs) +vortex_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct vortex_private *vp = netdev_priv(dev); @@ -2254,7 +2254,7 @@ handler_exit:   */  static irqreturn_t -boomerang_interrupt(int irq, void *dev_id, struct pt_regs *regs) +boomerang_interrupt(int irq, 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 db7b19a5cd5..8e996b4a34e 100644 --- a/drivers/net/7990.c +++ b/drivers/net/7990.c @@ -438,7 +438,7 @@ static int lance_tx (struct net_device *dev)  }  static irqreturn_t -lance_interrupt (int irq, void *dev_id, struct pt_regs *regs) +lance_interrupt (int irq, void *dev_id)  {          struct net_device *dev = (struct net_device *)dev_id;          struct lance_private *lp = netdev_priv(dev); diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c index 5a4990ae373..458dd9f830c 100644 --- a/drivers/net/8139cp.c +++ b/drivers/net/8139cp.c @@ -631,8 +631,7 @@ rx_next:  	return 1;		/* not done */  } -static irqreturn_t -cp_interrupt (int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t cp_interrupt (int irq, void *dev_instance)  {  	struct net_device *dev = dev_instance;  	struct cp_private *cp; @@ -696,7 +695,7 @@ cp_interrupt (int irq, void *dev_instance, struct pt_regs *regs)  static void cp_poll_controller(struct net_device *dev)  {  	disable_irq(dev->irq); -	cp_interrupt(dev->irq, dev, NULL); +	cp_interrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index dbc5c0b1b96..d02ed51abfc 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c @@ -629,8 +629,7 @@ static int rtl8139_poll(struct net_device *dev, int *budget);  #ifdef CONFIG_NET_POLL_CONTROLLER  static void rtl8139_poll_controller(struct net_device *dev);  #endif -static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance, -			       struct pt_regs *regs); +static irqreturn_t rtl8139_interrupt (int irq, 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); @@ -2146,8 +2145,7 @@ static int rtl8139_poll(struct net_device *dev, 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, -			       struct pt_regs *regs) +static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance)  {  	struct net_device *dev = (struct net_device *) dev_instance;  	struct rtl8139_private *tp = netdev_priv(dev); @@ -2219,7 +2217,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, NULL); +	rtl8139_interrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/82596.c b/drivers/net/82596.c index c9e4dca9d41..8236f26ffd4 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, struct pt_regs *regs); +static irqreturn_t i596_interrupt(int irq, void *dev_id);  static int i596_close(struct net_device *dev);  static struct net_device_stats *i596_get_stats(struct net_device *dev);  static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd); @@ -501,7 +501,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, struct pt_regs *regs) +static irqreturn_t i596_error(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  #ifdef ENABLE_MVME16x_NET @@ -1283,7 +1283,7 @@ out:  	return ERR_PTR(err);  } -static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t i596_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct i596_private *lp; @@ -1294,7 +1294,7 @@ static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs)  #ifdef ENABLE_BVME6000_NET  	if (MACH_IS_BVME6000) {  		if (*(char *) BVME_LOCAL_IRQ_STAT & BVME_ETHERR) { -			i596_error(irq, dev_id, regs); +			i596_error(irq, dev_id);  			return IRQ_HANDLED;  		}  	} diff --git a/drivers/net/8390.c b/drivers/net/8390.c index 9d34056147a..fa3442cb1a4 100644 --- a/drivers/net/8390.c +++ b/drivers/net/8390.c @@ -391,7 +391,6 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)   * ei_interrupt - handle the interrupts from an 8390   * @irq: interrupt number   * @dev_id: a pointer to the net_device - * @regs: unused   *   * Handle the ether interface interrupts. We pull packets from   * the 8390 via the card specific functions and fire them at the networking @@ -400,7 +399,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)   * needed.   */ -irqreturn_t ei_interrupt(int irq, void *dev_id, struct pt_regs * regs) +irqreturn_t ei_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	long e8390_base; @@ -506,7 +505,7 @@ irqreturn_t ei_interrupt(int irq, void *dev_id, struct pt_regs * regs)  void ei_poll(struct net_device *dev)  {  	disable_irq_lockdep(dev->irq); -	ei_interrupt(dev->irq, dev, NULL); +	ei_interrupt(dev->irq, dev);  	enable_irq_lockdep(dev->irq);  }  #endif diff --git a/drivers/net/8390.h b/drivers/net/8390.h index ca4eb0ccf8c..f44f1220b3a 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, struct pt_regs *regs); +extern irqreturn_t ei_interrupt(int irq, 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 5f7258fea19..d76548e7535 100644 --- a/drivers/net/a2065.c +++ b/drivers/net/a2065.c @@ -425,8 +425,7 @@ static int lance_tx (struct net_device *dev)  	return 0;  } -static irqreturn_t -lance_interrupt (int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t lance_interrupt (int irq, void *dev_id)  {  	struct net_device *dev;  	struct lance_private *lp; diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c index 71a4f60f732..33c6645455a 100644 --- a/drivers/net/acenic.c +++ b/drivers/net/acenic.c @@ -2144,7 +2144,7 @@ static inline void ace_tx_int(struct net_device *dev,  } -static irqreturn_t ace_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) +static irqreturn_t ace_interrupt(int irq, 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 efb14b9f4d9..8ca8534d70b 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, struct pt_regs *regs); +static irqreturn_t ace_interrupt(int irq, 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 28855a01ed7..ef65e5917c8 100644 --- a/drivers/net/amd8111e.c +++ b/drivers/net/amd8111e.c @@ -1257,7 +1257,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, struct pt_regs *regs) +static irqreturn_t amd8111e_interrupt(int irq, void *dev_id)  {  	struct net_device * dev = (struct net_device *) dev_id; @@ -1336,7 +1336,7 @@ static void amd8111e_poll(struct net_device *dev)  	unsigned long flags;  	local_save_flags(flags);  	local_irq_disable(); -	amd8111e_interrupt(0, dev, NULL); +	amd8111e_interrupt(0, dev);  	local_irq_restore(flags);  }  #endif diff --git a/drivers/net/apne.c b/drivers/net/apne.c index 643b08cc740..9164d8cd670 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, struct pt_regs *regs); +static irqreturn_t apne_interrupt(int irq, void *dev_id);  static int init_pcmcia(void); @@ -543,7 +543,7 @@ apne_block_output(struct net_device *dev, int count,      return;  } -static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t apne_interrupt(int irq, void *dev_id)  {      unsigned char pcmcia_intreq; @@ -559,7 +559,7 @@ static irqreturn_t apne_interrupt(int irq, void *dev_id, struct pt_regs *regs)      if (ei_debug > 3)          printk("pcmcia intreq = %x\n", pcmcia_intreq);      pcmcia_disable_irq();			/* to get rid of the sti() within ei_interrupt */ -    ei_interrupt(irq, dev_id, regs); +    ei_interrupt(irq, dev_id);      pcmcia_ack_int(pcmcia_get_intreq());      pcmcia_enable_irq();      return IRQ_HANDLED; diff --git a/drivers/net/appletalk/cops.c b/drivers/net/appletalk/cops.c index ae7f828344d..cc1a27ed197 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, struct pt_regs *regs); +static irqreturn_t cops_interrupt (int irq, 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); @@ -721,7 +721,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, struct pt_regs * regs) +static irqreturn_t cops_interrupt(int irq, 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 d5666c37cb0..2ea44ce4981 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, struct pt_regs *reg_ptr) +ltpc_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id; diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c index 5a95005253f..4e91dab1f17 100644 --- a/drivers/net/arcnet/arcnet.c +++ b/drivers/net/arcnet/arcnet.c @@ -752,7 +752,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, struct pt_regs *regs) +irqreturn_t arcnet_interrupt(int irq, 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 3aef3c10d56..9dfc09b181c 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, struct pt_regs *fp); +static irqreturn_t ariadne_interrupt(int irq, 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 @@ -416,7 +416,7 @@ static inline void ariadne_reset(struct net_device *dev)  } -static irqreturn_t ariadne_interrupt(int irq, void *data, struct pt_regs *fp) +static irqreturn_t ariadne_interrupt(int irq, 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 09d5c3f2698..ddd12d44ff2 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, struct pt_regs *regs); +am79c961_interrupt (int irq, void *dev_id);  static unsigned int net_debug = NET_DEBUG; @@ -596,7 +596,7 @@ am79c961_tx(struct net_device *dev, struct dev_priv *priv)  }  static irqreturn_t -am79c961_interrupt(int irq, void *dev_id, struct pt_regs *regs) +am79c961_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct dev_priv *priv = netdev_priv(dev); diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c index 3ecf2cc53a7..b54b857e357 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c @@ -196,7 +196,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, struct pt_regs *regs) +static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct at91_private *lp = (struct at91_private *) dev->priv; @@ -888,7 +888,7 @@ static void at91ether_rx(struct net_device *dev)  /*   * MAC interrupt handler   */ -static irqreturn_t at91ether_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t at91ether_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct at91_private *lp = (struct at91_private *) dev->priv; diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c index d231efa624d..127561c782f 100644 --- a/drivers/net/arm/ep93xx_eth.c +++ b/drivers/net/arm/ep93xx_eth.c @@ -435,7 +435,7 @@ static void ep93xx_tx_complete(struct net_device *dev)  		netif_wake_queue(dev);  } -static irqreturn_t ep93xx_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ep93xx_irq(int 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 312955d07b2..f3478a30e77 100644 --- a/drivers/net/arm/ether1.c +++ b/drivers/net/arm/ether1.c @@ -68,7 +68,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, struct pt_regs *regs); +static irqreturn_t ether1_interrupt(int irq, 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); @@ -908,7 +908,7 @@ ether1_recv_done (struct net_device *dev)  }  static irqreturn_t -ether1_interrupt (int irq, void *dev_id, struct pt_regs *regs) +ether1_interrupt (int irq, 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 081074180e6..84686c8a5bc 100644 --- a/drivers/net/arm/ether3.c +++ b/drivers/net/arm/ether3.c @@ -81,7 +81,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, struct pt_regs *regs); +static irqreturn_t ether3_interrupt (int irq, 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); @@ -568,7 +568,7 @@ ether3_sendpacket(struct sk_buff *skb, struct net_device *dev)  }  static irqreturn_t -ether3_interrupt(int irq, void *dev_id, struct pt_regs *regs) +ether3_interrupt(int irq, 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 4aeca11f3ee..8620a5b470f 100644 --- a/drivers/net/at1700.c +++ b/drivers/net/at1700.c @@ -161,7 +161,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, struct pt_regs *regs); +static irqreturn_t net_interrupt(int irq, 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); @@ -648,8 +648,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, struct pt_regs *regs) +static irqreturn_t net_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct net_local *lp; diff --git a/drivers/net/atari_bionet.c b/drivers/net/atari_bionet.c index 92b52138aca..4e3bf6a1f22 100644 --- a/drivers/net/atari_bionet.c +++ b/drivers/net/atari_bionet.c @@ -220,7 +220,7 @@ gsend:  }  static irqreturn_t -bionet_intr(int irq, void *data, struct pt_regs *fp) { +bionet_intr(int irq, void *data) {  	return IRQ_HANDLED;  } diff --git a/drivers/net/atari_pamsnet.c b/drivers/net/atari_pamsnet.c index a1026251b93..3b543614928 100644 --- a/drivers/net/atari_pamsnet.c +++ b/drivers/net/atari_pamsnet.c @@ -163,7 +163,7 @@ static int pamsnet_close(struct net_device *dev);  static struct net_device_stats *net_get_stats(struct net_device *dev);  static void pamsnet_tick(unsigned long); -static irqreturn_t pamsnet_intr(int irq, void *data, struct pt_regs *fp); +static irqreturn_t pamsnet_intr(int irq, void *data);  static DEFINE_TIMER(pamsnet_timer, pamsnet_tick, 0, 0); @@ -494,7 +494,6 @@ static irqreturn_t  pamsnet_intr(irq, data, fp)  	int irq;  	void *data; -	struct pt_regs *fp;  {  	return IRQ_HANDLED;  } diff --git a/drivers/net/atarilance.c b/drivers/net/atarilance.c index b6570ca6ada..d79489e4624 100644 --- a/drivers/net/atarilance.c +++ b/drivers/net/atarilance.c @@ -344,7 +344,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, struct pt_regs *fp ); +static irqreturn_t lance_interrupt( int irq, void *dev_id );  static int lance_rx( struct net_device *dev );  static int lance_close( struct net_device *dev );  static struct net_device_stats *lance_get_stats( struct net_device *dev ); @@ -866,7 +866,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, struct pt_regs *fp) +static irqreturn_t lance_interrupt( int irq, void *dev_id )  {  	struct net_device *dev = dev_id;  	struct lance_private *lp; diff --git a/drivers/net/atp.c b/drivers/net/atp.c index f2c8e0d5497..062f80e2087 100644 --- a/drivers/net/atp.c +++ b/drivers/net/atp.c @@ -203,7 +203,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, struct pt_regs *regs); +static irqreturn_t atp_interrupt(int irq, 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); @@ -596,8 +596,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, struct pt_regs * regs) +static irqreturn_t atp_interrupt(int irq, void *dev_instance)  {  	struct net_device *dev = (struct net_device *)dev_instance;  	struct net_local *lp; diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index ac33b1b9cf4..4873dc610d2 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c @@ -89,7 +89,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 *, struct pt_regs *); +static irqreturn_t au1000_interrupt(int, void *);  static void au1000_tx_timeout(struct net_device *);  static void set_rx_mode(struct net_device *);  static struct net_device_stats *au1000_get_stats(struct net_device *); @@ -1253,7 +1253,7 @@ static int au1000_rx(struct net_device *dev)  /*   * Au1000 interrupt service routine.   */ -static irqreturn_t au1000_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t au1000_interrupt(int irq, 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 e891ea2ecc3..b124eee4eb1 100644 --- a/drivers/net/b44.c +++ b/drivers/net/b44.c @@ -896,7 +896,7 @@ static int b44_poll(struct net_device *netdev, int *budget)  	return (done ? 0 : 1);  } -static irqreturn_t b44_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t b44_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct b44 *bp = netdev_priv(dev); @@ -1461,7 +1461,7 @@ out:  static void b44_poll_controller(struct net_device *dev)  {  	disable_irq(dev->irq); -	b44_interrupt(dev->irq, dev, NULL); +	b44_interrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/bmac.c b/drivers/net/bmac.c index 4adfe7b7703..4528ce9c4e4 100644 --- a/drivers/net/bmac.c +++ b/drivers/net/bmac.c @@ -152,9 +152,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, struct pt_regs *regs); -static irqreturn_t bmac_txdma_intr(int irq, void *dev_id, struct pt_regs *regs); -static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs); +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 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); @@ -688,7 +688,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, struct pt_regs *regs) +static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct bmac_data *bp = netdev_priv(dev); @@ -765,7 +765,7 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs)  static int txintcount; -static irqreturn_t bmac_txdma_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t bmac_txdma_intr(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct bmac_data *bp = netdev_priv(dev); @@ -1082,7 +1082,7 @@ static void bmac_set_multicast(struct net_device *dev)  static int miscintcount; -static irqreturn_t bmac_misc_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t bmac_misc_intr(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct bmac_data *bp = netdev_priv(dev); @@ -1091,7 +1091,7 @@ static irqreturn_t bmac_misc_intr(int irq, void *dev_id, struct pt_regs *regs)  		XXDEBUG(("bmac_misc_intr\n"));  	}  	/* XXDEBUG(("bmac_misc_intr, status=%#08x\n", status)); */ -	/*     bmac_txdma_intr_inner(irq, dev_id, regs); */ +	/*     bmac_txdma_intr_inner(irq, dev_id); */  	/*   if (status & FrameReceived) bp->stats.rx_dropped++; */  	if (status & RxErrorMask) bp->stats.rx_errors++;  	if (status & RxCRCCntExp) bp->stats.rx_crc_errors++; diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 6b4edb63c4c..01b76d3aa42 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -1888,7 +1888,7 @@ next_rx:   * is that the MSI interrupt is always serviced.   */  static irqreturn_t -bnx2_msi(int irq, void *dev_instance, struct pt_regs *regs) +bnx2_msi(int irq, void *dev_instance)  {  	struct net_device *dev = dev_instance;  	struct bnx2 *bp = netdev_priv(dev); @@ -1908,7 +1908,7 @@ bnx2_msi(int irq, void *dev_instance, struct pt_regs *regs)  }  static irqreturn_t -bnx2_interrupt(int irq, void *dev_instance, struct pt_regs *regs) +bnx2_interrupt(int irq, void *dev_instance)  {  	struct net_device *dev = dev_instance;  	struct bnx2 *bp = netdev_priv(dev); @@ -5554,7 +5554,7 @@ poll_bnx2(struct net_device *dev)  	struct bnx2 *bp = netdev_priv(dev);  	disable_irq(bp->pdev->irq); -	bnx2_interrupt(bp->pdev->irq, dev, NULL); +	bnx2_interrupt(bp->pdev->irq, dev);  	enable_irq(bp->pdev->irq);  }  #endif diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c index 7694365092f..521c5b71023 100644 --- a/drivers/net/cassini.c +++ b/drivers/net/cassini.c @@ -2469,7 +2469,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, struct pt_regs *regs) +static irqreturn_t cas_interruptN(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct cas *cp = netdev_priv(dev); @@ -2522,7 +2522,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, struct pt_regs *regs) +static irqreturn_t cas_interrupt1(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct cas *cp = netdev_priv(dev); @@ -2574,7 +2574,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, struct pt_regs *regs) +static irqreturn_t cas_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct cas *cp = netdev_priv(dev); @@ -2689,7 +2689,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, NULL); +	cas_interrupt(cp->pdev->irq, 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 5f1b0675346..ad7ff9641a7 100644 --- a/drivers/net/chelsio/cxgb2.c +++ b/drivers/net/chelsio/cxgb2.c @@ -918,7 +918,7 @@ static void t1_netpoll(struct net_device *dev)  	struct adapter *adapter = dev->priv;  	local_irq_save(flags); -        t1_select_intr_handler(adapter)(adapter->pdev->irq, adapter, NULL); +        t1_select_intr_handler(adapter)(adapter->pdev->irq, adapter);  	local_irq_restore(flags);  }  #endif diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c index ddd0bdb498f..9799c12380f 100644 --- a/drivers/net/chelsio/sge.c +++ b/drivers/net/chelsio/sge.c @@ -1217,7 +1217,7 @@ static inline int napi_is_scheduled(struct net_device *dev)  /*   * NAPI version of the main interrupt handler.   */ -static irqreturn_t t1_interrupt_napi(int irq, void *data, struct pt_regs *regs) +static irqreturn_t t1_interrupt_napi(int irq, void *data)  {  	int handled;  	struct adapter *adapter = data; @@ -1279,7 +1279,7 @@ static irqreturn_t t1_interrupt_napi(int irq, void *data, struct pt_regs *regs)   * 5. If we took an interrupt, but no valid respQ descriptors was found we   *      let the slow_intr_handler run and do error handling.   */ -static irqreturn_t t1_interrupt(int irq, void *cookie, struct pt_regs *regs) +static irqreturn_t t1_interrupt(int irq, void *cookie)  {  	int work_done;  	struct respQ_e *e; @@ -1312,7 +1312,7 @@ static irqreturn_t t1_interrupt(int irq, void *cookie, struct pt_regs *regs)  	return IRQ_RETVAL(work_done != 0);  } -intr_handler_t t1_select_intr_handler(adapter_t *adapter) +irq_handler_t t1_select_intr_handler(adapter_t *adapter)  {  	return adapter->params.sge.polling ? t1_interrupt_napi : t1_interrupt;  } diff --git a/drivers/net/chelsio/sge.h b/drivers/net/chelsio/sge.h index 6d0d24a6364..91af47bab7b 100644 --- a/drivers/net/chelsio/sge.h +++ b/drivers/net/chelsio/sge.h @@ -43,13 +43,6 @@  #include <linux/interrupt.h>  #include <asm/byteorder.h> -#ifndef IRQ_RETVAL -#define IRQ_RETVAL(x) -typedef void irqreturn_t; -#endif - -typedef irqreturn_t (*intr_handler_t)(int, void *, struct pt_regs *); -  struct sge_intr_counts {  	unsigned int respQ_empty;      /* # times respQ empty */  	unsigned int respQ_overflow;   /* # respQ overflow (fatal) */ @@ -88,7 +81,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 *); -intr_handler_t t1_select_intr_handler(adapter_t *adapter); +irq_handler_t t1_select_intr_handler(adapter_t *adapter);  int t1_start_xmit(struct sk_buff *skb, struct net_device *dev);  void t1_set_vlan_accel(struct adapter *adapter, int on_off);  void t1_sge_start(struct sge *); diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c index f1501b6f247..966b563e42b 100644 --- a/drivers/net/cris/eth_v10.c +++ b/drivers/net/cris/eth_v10.c @@ -403,8 +403,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, struct pt_regs *regs); -static irqreturn_t e100nw_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t e100rxtx_interrupt(int irq, void *dev_id); +static irqreturn_t e100nw_interrupt(int irq, 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); @@ -1197,7 +1197,7 @@ e100_send_packet(struct sk_buff *skb, struct net_device *dev)   */  static irqreturn_t -e100rxtx_interrupt(int irq, void *dev_id, struct pt_regs * regs) +e100rxtx_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct net_local *np = (struct net_local *)dev->priv; @@ -1264,7 +1264,7 @@ e100rxtx_interrupt(int irq, void *dev_id, struct pt_regs * regs)  }  static irqreturn_t -e100nw_interrupt(int irq, void *dev_id, struct pt_regs * regs) +e100nw_interrupt(int irq, 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 e4d50f0de93..4ffc9b44a8e 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, struct pt_regs *regs); +static irqreturn_t net_interrupt(int irq, 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, NULL); +	net_interrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif @@ -1573,7 +1573,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, struct pt_regs * regs) +static irqreturn_t net_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct net_local *lp; diff --git a/drivers/net/de600.c b/drivers/net/de600.c index 0b930da5d47..d9b006c9e36 100644 --- a/drivers/net/de600.c +++ b/drivers/net/de600.c @@ -258,7 +258,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, struct pt_regs * regs) +static irqreturn_t de600_interrupt(int irq, 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 e4073015dcd..1288e48ba70 100644 --- a/drivers/net/de600.h +++ b/drivers/net/de600.h @@ -125,7 +125,7 @@ static struct net_device_stats *get_stats(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, struct pt_regs *regs); +static irqreturn_t de600_interrupt(int irq, 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 a18d4d14b66..b6ad0cb5055 100644 --- a/drivers/net/de620.c +++ b/drivers/net/de620.c @@ -221,7 +221,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 *, struct pt_regs *); +static irqreturn_t de620_interrupt(int, void *);  static int	de620_rx_intr(struct net_device *);  /* Initialization */ @@ -591,7 +591,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, struct pt_regs *regs) +de620_interrupt(int irq_in, 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 bbccd741cdb..e179aa1c1ba 100644 --- a/drivers/net/declance.c +++ b/drivers/net/declance.c @@ -694,8 +694,7 @@ out:  	spin_unlock(&lp->lock);  } -static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id, -				      struct pt_regs *regs) +static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id; @@ -703,8 +702,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, -				   struct pt_regs *regs) +static irqreturn_t lance_interrupt(const int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct lance_private *lp = netdev_priv(dev); diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c index ae9680552b8..8f514cc0deb 100644 --- a/drivers/net/defxx.c +++ b/drivers/net/defxx.c @@ -248,8 +248,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, -				      struct pt_regs *regs); +static irqreturn_t	dfx_interrupt(int irq, 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); @@ -1693,7 +1692,6 @@ static void dfx_int_common(struct net_device *dev)   * Arguments:   *   irq	- interrupt vector   *   dev_id	- pointer to device information - *	 regs	- pointer to registers structure   *   * Functional Description:   *   This routine calls the interrupt processing routine for this adapter.  It @@ -1716,7 +1714,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, struct pt_regs *regs) +static irqreturn_t dfx_interrupt(int irq, void *dev_id)  {  	struct net_device	*dev = dev_id;  	DFX_board_t		*bp;	/* private board structure pointer */ diff --git a/drivers/net/depca.c b/drivers/net/depca.c index af594664df5..f87f6e3dc72 100644 --- a/drivers/net/depca.c +++ b/drivers/net/depca.c @@ -518,7 +518,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, struct pt_regs *regs); +static irqreturn_t depca_interrupt(int irq, 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); @@ -965,7 +965,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, struct pt_regs *regs) +static irqreturn_t depca_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct depca_private *lp; diff --git a/drivers/net/dgrs.c b/drivers/net/dgrs.c index d0842527b36..6b1234b09fb 100644 --- a/drivers/net/dgrs.c +++ b/drivers/net/dgrs.c @@ -895,7 +895,7 @@ static int dgrs_ioctl(struct net_device *devN, struct ifreq *ifr, int cmd)   *	dev, priv will always refer to the 0th device in Multi-NIC mode.   */ -static irqreturn_t dgrs_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t dgrs_intr(int irq, void *dev_id)  {  	struct net_device	*dev0 = (struct net_device *) dev_id;  	DGRS_PRIV	*priv0 = (DGRS_PRIV *) dev0->priv; diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c index 7e95cf1a487..9d446a0fe0b 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, struct pt_regs *regs); +static irqreturn_t rio_interrupt (int irq, 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); @@ -665,7 +665,7 @@ start_xmit (struct sk_buff *skb, struct net_device *dev)  }  static irqreturn_t -rio_interrupt (int irq, void *dev_instance, struct pt_regs *rgs) +rio_interrupt (int irq, 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 a860ebbbf81..3641f3b4a2c 100644 --- a/drivers/net/dm9000.c +++ b/drivers/net/dm9000.c @@ -159,7 +159,7 @@ static void dm9000_init_dm9000(struct net_device *);  static struct net_device_stats *dm9000_get_stats(struct net_device *); -static irqreturn_t dm9000_interrupt(int, void *, struct pt_regs *); +static irqreturn_t dm9000_interrupt(int, 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, @@ -804,7 +804,7 @@ dm9000_tx_done(struct net_device *dev, board_info_t * db)  }  static irqreturn_t -dm9000_interrupt(int irq, void *dev_id, struct pt_regs *regs) +dm9000_interrupt(int irq, 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 26073c34521..27d5d2f0253 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c @@ -1949,7 +1949,7 @@ static int e100_rx_alloc_list(struct nic *nic)  	return 0;  } -static irqreturn_t e100_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t e100_intr(int irq, void *dev_id)  {  	struct net_device *netdev = dev_id;  	struct nic *nic = netdev_priv(netdev); @@ -2005,7 +2005,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, NULL); +	e100_intr(nic->pdev->irq, 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 778ede3c021..773821e4cf5 100644 --- a/drivers/net/e1000/e1000_ethtool.c +++ b/drivers/net/e1000/e1000_ethtool.c @@ -883,8 +883,7 @@ e1000_eeprom_test(struct e1000_adapter *adapter, uint64_t *data)  static irqreturn_t  e1000_test_intr(int irq, -		void *data, -		struct pt_regs *regs) +		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 7dca38fba6a..ce0d35fe394 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -153,7 +153,7 @@ 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, struct pt_regs *regs); +static irqreturn_t e1000_intr(int irq, void *data);  static boolean_t e1000_clean_tx_irq(struct e1000_adapter *adapter,                                      struct e1000_tx_ring *tx_ring);  #ifdef CONFIG_E1000_NAPI @@ -3436,11 +3436,10 @@ e1000_update_stats(struct e1000_adapter *adapter)   * e1000_intr - Interrupt Handler   * @irq: interrupt number   * @data: pointer to a network interface device structure - * @pt_regs: CPU registers structure   **/  static irqreturn_t -e1000_intr(int irq, void *data, struct pt_regs *regs) +e1000_intr(int irq, void *data)  {  	struct net_device *netdev = data;  	struct e1000_adapter *adapter = netdev_priv(netdev); @@ -4862,7 +4861,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, NULL); +	e1000_intr(adapter->pdev->irq, 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/eepro.c b/drivers/net/eepro.c index 09ff9b9418f..aae454aaa1c 100644 --- a/drivers/net/eepro.c +++ b/drivers/net/eepro.c @@ -311,7 +311,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, struct pt_regs *regs); +static irqreturn_t eepro_interrupt(int irq, 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); @@ -1196,7 +1196,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, struct pt_regs * regs) +eepro_interrupt(int irq, void *dev_id)  {  	struct net_device *dev =  (struct net_device *)dev_id;  	                      /* (struct net_device *)(irq2dev_map[irq]);*/ diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c index 499e93b31f5..e28bb1e38f8 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, struct pt_regs *regs); +static irqreturn_t speedo_interrupt(int irq, 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, NULL); +	speedo_interrupt (dev->irq, dev);  	enable_irq(dev->irq);  }  #endif @@ -1541,7 +1541,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, struct pt_regs *regs) +static irqreturn_t speedo_interrupt(int irq, void *dev_instance)  {  	struct net_device *dev = (struct net_device *)dev_instance;  	struct speedo_private *sp; diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c index 9cb05d99ee1..05ca730fe81 100644 --- a/drivers/net/eexpress.c +++ b/drivers/net/eexpress.c @@ -249,7 +249,7 @@ static void eexp_timeout(struct net_device *dev);  static struct net_device_stats *eexp_stats(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, struct pt_regs *regs); +static irqreturn_t eexp_irq(int irq, void *dev_addr);  static void eexp_set_multicast(struct net_device *dev);  /* @@ -789,7 +789,7 @@ static void eexp_cmd_clear(struct net_device *dev)  	}  } -static irqreturn_t eexp_irq(int irq, void *dev_info, struct pt_regs *regs) +static irqreturn_t eexp_irq(int irq, void *dev_info)  {  	struct net_device *dev = dev_info;  	struct net_local *lp; diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c index 263d1c5b3f2..c6b31775e26 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c @@ -536,16 +536,14 @@ void ehea_send_irq_tasklet(unsigned long data)  		tasklet_hi_schedule(&pr->send_comp_task);  } -static irqreturn_t ehea_send_irq_handler(int irq, void *param, -					 struct pt_regs *regs) +static irqreturn_t ehea_send_irq_handler(int irq, void *param)  {  	struct ehea_port_res *pr = param;  	tasklet_hi_schedule(&pr->send_comp_task);  	return IRQ_HANDLED;  } -static irqreturn_t ehea_recv_irq_handler(int irq, void *param, -					 struct pt_regs *regs) +static irqreturn_t ehea_recv_irq_handler(int irq, void *param)  {  	struct ehea_port_res *pr = param;  	struct ehea_port *port = pr->port; @@ -553,8 +551,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, -					   struct pt_regs *regs) +static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param)  {  	struct ehea_port *port = param;  	struct ehea_eqe *eqe; @@ -850,8 +847,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, -				      struct pt_regs *regs) +static irqreturn_t ehea_interrupt_neq(int irq, 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 ba2565ee043..3a6a83d3ee1 100644 --- a/drivers/net/epic100.c +++ b/drivers/net/epic100.c @@ -297,7 +297,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 net_device *dev, int *budget); -static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *regs); +static irqreturn_t epic_interrupt(int irq, 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); @@ -1081,7 +1081,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, struct pt_regs *regs) +static irqreturn_t epic_interrupt(int irq, 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 f16b6a5aaa3..8cc3c331aca 100644 --- a/drivers/net/eth16i.c +++ b/drivers/net/eth16i.c @@ -410,7 +410,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, struct pt_regs *regs); +static irqreturn_t eth16i_interrupt(int irq, 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); @@ -1226,7 +1226,7 @@ static void eth16i_rx(struct net_device *dev)  	} /* while */  } -static irqreturn_t eth16i_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t eth16i_interrupt(int irq, 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 75a43f7c70c..c8c41f0a47d 100644 --- a/drivers/net/ewrk3.c +++ b/drivers/net/ewrk3.c @@ -300,7 +300,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, struct pt_regs *regs); +static irqreturn_t ewrk3_interrupt(int irq, void *dev_id);  static int ewrk3_close(struct net_device *dev);  static struct net_device_stats *ewrk3_get_stats(struct net_device *dev);  static void set_multicast_list(struct net_device *dev); @@ -884,7 +884,7 @@ err_out:  /*     ** The EWRK3 interrupt handler.   */ -static irqreturn_t ewrk3_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ewrk3_interrupt(int irq, 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 191bd429076..38a13f44053 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, struct pt_regs *regs); +static irqreturn_t intr_handler(int irq, 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); @@ -1453,7 +1453,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, struct pt_regs *rgs) +static irqreturn_t intr_handler(int irq, 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 55d86bc4c10..6764281b453 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, struct pt_regs * regs); +static irqreturn_t fec_enet_interrupt(int irq, 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); @@ -450,7 +450,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, struct pt_regs * regs) +fec_enet_interrupt(int irq, void * dev_id)  {  	struct	net_device *dev = dev_id;  	volatile fec_t	*fecp; @@ -1236,7 +1236,7 @@ static void  mii_link_interrupt(void *dev_id);  #else  static irqreturn_t -mii_link_interrupt(int irq, void * dev_id, struct pt_regs * regs); +mii_link_interrupt(int irq, void * dev_id);  #endif  #endif @@ -1251,7 +1251,7 @@ static void __inline__ fec_request_intrs(struct net_device *dev)  	static const struct idesc {  		char *name;  		unsigned short irq; -		irqreturn_t (*handler)(int, void *, struct pt_regs *); +		irq_handler_t handler;  	} *idp, id[] = {  		{ "fec(RX)", 86, fec_enet_interrupt },  		{ "fec(TX)", 87, fec_enet_interrupt }, @@ -2117,7 +2117,7 @@ static void  mii_link_interrupt(void *dev_id)  #else  static irqreturn_t -mii_link_interrupt(int irq, void * dev_id, struct pt_regs * regs) +mii_link_interrupt(int irq, 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 e17a1449ee1..8e7a56fadfd 100644 --- a/drivers/net/fec_8xx/fec_main.c +++ b/drivers/net/fec_8xx/fec_main.c @@ -708,7 +708,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, struct pt_regs *regs) +fec_enet_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct fec_enet_private *fep; @@ -768,7 +768,7 @@ fec_enet_interrupt(int irq, void *dev_id, struct pt_regs *regs)  /* This interrupt occurs when the PHY detects a link change. */  static irqreturn_t -fec_mii_link_interrupt(int irq, void *dev_id, struct pt_regs *regs) +fec_mii_link_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct fec_enet_private *fep; diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index eea1d66c530..99b7a411db2 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -2397,7 +2397,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, struct pt_regs *regs) +static irqreturn_t nv_nic_irq(int foo, void *data)  {  	struct net_device *dev = (struct net_device *) data;  	struct fe_priv *np = netdev_priv(dev); @@ -2490,7 +2490,7 @@ static irqreturn_t nv_nic_irq(int foo, void *data, struct pt_regs *regs)  	return IRQ_RETVAL(i);  } -static irqreturn_t nv_nic_irq_tx(int foo, void *data, struct pt_regs *regs) +static irqreturn_t nv_nic_irq_tx(int foo, void *data)  {  	struct net_device *dev = (struct net_device *) data;  	struct fe_priv *np = netdev_priv(dev); @@ -2576,7 +2576,7 @@ static int nv_napi_poll(struct net_device *dev, int *budget)  #endif  #ifdef CONFIG_FORCEDETH_NAPI -static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs) +static irqreturn_t nv_nic_irq_rx(int foo, void *data)  {  	struct net_device *dev = (struct net_device *) data;  	u8 __iomem *base = get_hwbase(dev); @@ -2594,7 +2594,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs)  	return IRQ_HANDLED;  }  #else -static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs) +static irqreturn_t nv_nic_irq_rx(int foo, void *data)  {  	struct net_device *dev = (struct net_device *) data;  	struct fe_priv *np = netdev_priv(dev); @@ -2641,7 +2641,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data, struct pt_regs *regs)  }  #endif -static irqreturn_t nv_nic_irq_other(int foo, void *data, struct pt_regs *regs) +static irqreturn_t nv_nic_irq_other(int foo, void *data)  {  	struct net_device *dev = (struct net_device *) data;  	struct fe_priv *np = netdev_priv(dev); @@ -2695,7 +2695,7 @@ static irqreturn_t nv_nic_irq_other(int foo, void *data, struct pt_regs *regs)  	return IRQ_RETVAL(i);  } -static irqreturn_t nv_nic_irq_test(int foo, void *data, struct pt_regs *regs) +static irqreturn_t nv_nic_irq_test(int foo, void *data)  {  	struct net_device *dev = (struct net_device *) data;  	struct fe_priv *np = netdev_priv(dev); @@ -2905,22 +2905,22 @@ static void nv_do_nic_poll(unsigned long data)  	pci_push(base);  	if (!using_multi_irqs(dev)) { -		nv_nic_irq(0, dev, NULL); +		nv_nic_irq(0, 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, NULL); +			nv_nic_irq_rx(0, 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, NULL); +			nv_nic_irq_tx(0, 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, NULL); +			nv_nic_irq_other(0, dev);  			enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector);  		}  	} diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c index d01870619a4..cb3958704a8 100644 --- a/drivers/net/fs_enet/fs_enet-main.c +++ b/drivers/net/fs_enet/fs_enet-main.c @@ -441,7 +441,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, struct pt_regs *regs) +fs_enet_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct fs_enet_private *fep; @@ -667,7 +667,7 @@ static int fs_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)  }  static int fs_request_irq(struct net_device *dev, int irq, const char *name, -		irqreturn_t (*irqf)(int irq, void *dev_id, struct pt_regs *regs)) +		irq_handler_t irqf)  {  	struct fs_enet_private *fep = netdev_priv(dev); diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 280b114e253..a06d8d1aace 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -119,9 +119,9 @@ struct sk_buff *gfar_new_skb(struct net_device *dev, struct rxbd8 *bdp);  static struct net_device_stats *gfar_get_stats(struct net_device *dev);  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, struct pt_regs *regs); -static irqreturn_t gfar_transmit(int irq, void *dev_id, struct pt_regs *regs); -static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs); +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 void adjust_link(struct net_device *dev);  static void init_registers(struct net_device *dev);  static int init_phy(struct net_device *dev); @@ -1173,7 +1173,7 @@ static void gfar_timeout(struct net_device *dev)  }  /* Interrupt Handler for Transmit complete */ -static irqreturn_t gfar_transmit(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t gfar_transmit(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct gfar_private *priv = netdev_priv(dev); @@ -1305,7 +1305,7 @@ static inline void count_errors(unsigned short status, struct gfar_private *priv  	}  } -irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t gfar_receive(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct gfar_private *priv = netdev_priv(dev); @@ -1537,7 +1537,7 @@ static int gfar_poll(struct net_device *dev, int *budget)  #endif  /* The interrupt handler for devices with one interrupt */ -static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t gfar_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct gfar_private *priv = netdev_priv(dev); @@ -1550,11 +1550,11 @@ static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	/* Check for reception */  	if ((events & IEVENT_RXF0) || (events & IEVENT_RXB0)) -		gfar_receive(irq, dev_id, regs); +		gfar_receive(irq, dev_id);  	/* Check for transmit completion */  	if ((events & IEVENT_TXF) || (events & IEVENT_TXB)) -		gfar_transmit(irq, dev_id, regs); +		gfar_transmit(irq, dev_id);  	/* Update error statistics */  	if (events & IEVENT_TXE) { @@ -1578,7 +1578,7 @@ static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		priv->stats.rx_errors++;  		priv->extra_stats.rx_bsy++; -		gfar_receive(irq, dev_id, regs); +		gfar_receive(irq, dev_id);  #ifndef CONFIG_GFAR_NAPI  		/* Clear the halt bit in RSTAT */ @@ -1857,7 +1857,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, struct pt_regs *regs) +static irqreturn_t gfar_error(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct gfar_private *priv = netdev_priv(dev); @@ -1898,7 +1898,7 @@ static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs)  		priv->stats.rx_errors++;  		priv->extra_stats.rx_bsy++; -		gfar_receive(irq, dev_id, regs); +		gfar_receive(irq, dev_id);  #ifndef CONFIG_GFAR_NAPI  		/* Clear the halt bit in RSTAT */ diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h index c35d47c40c3..9e81a50cf2b 100644 --- a/drivers/net/gianfar.h +++ b/drivers/net/gianfar.h @@ -754,7 +754,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, struct pt_regs *regs); +extern irqreturn_t gfar_receive(int irq, 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 5c89ae78a51..c3c0d67fc38 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, struct pt_regs *regs); +static irqreturn_t hamachi_interrupt(int irq, 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); @@ -1376,7 +1376,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, struct pt_regs *rgs) +static irqreturn_t hamachi_interrupt(int irq, void *dev_instance)  {  	struct net_device *dev = dev_instance;  	struct hamachi_private *hmp = netdev_priv(dev); diff --git a/drivers/net/hamradio/baycom_epp.c b/drivers/net/hamradio/baycom_epp.c index 9220de9f4fe..1ed9cccd3c1 100644 --- a/drivers/net/hamradio/baycom_epp.c +++ b/drivers/net/hamradio/baycom_epp.c @@ -323,7 +323,7 @@ static int eppconfig(struct baycom_state *bc)  /* ---------------------------------------------------------------------- */ -static void epp_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static void epp_interrupt(int irq, void *dev_id)  {  } diff --git a/drivers/net/hamradio/baycom_par.c b/drivers/net/hamradio/baycom_par.c index 77411a00d1e..5930aeb3501 100644 --- a/drivers/net/hamradio/baycom_par.c +++ b/drivers/net/hamradio/baycom_par.c @@ -270,7 +270,7 @@ static __inline__ void par96_rx(struct net_device *dev, struct baycom_state *bc)  /* --------------------------------------------------------------------- */ -static void par96_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static void par96_interrupt(int irq, 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_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c index 55906c7b4bb..59214e74b9c 100644 --- a/drivers/net/hamradio/baycom_ser_fdx.c +++ b/drivers/net/hamradio/baycom_ser_fdx.c @@ -279,7 +279,7 @@ static __inline__ void ser12_rx(struct net_device *dev, struct baycom_state *bc,  /* --------------------------------------------------------------------- */ -static irqreturn_t ser12_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ser12_interrupt(int irq, 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 de95de8983d..3bcc57acbe6 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, struct pt_regs *regs) +static irqreturn_t ser12_interrupt(int irq, 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 c9a46b89942..0f8b9afd55b 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, struct pt_regs *regs); +static irqreturn_t scc_isr(int irq, 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(void *arg); @@ -1142,7 +1142,7 @@ static inline void z8530_isr(struct scc_info *info)  } -static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t scc_isr(int irq, void *dev_id)  {  	struct scc_info *info = dev_id; diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c index df4b68142ac..ec9b6d9b6f0 100644 --- a/drivers/net/hamradio/scc.c +++ b/drivers/net/hamradio/scc.c @@ -200,7 +200,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, struct pt_regs *regs); +static irqreturn_t scc_isr(int irq, void *dev_id);  static void scc_init_timer(struct scc_channel *scc);  static int scc_net_alloc(const char *name, struct scc_channel *scc); @@ -626,7 +626,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, struct pt_regs *regs) +static irqreturn_t scc_isr(int irq, void *dev_id)  {  	unsigned char vector;	  	struct scc_channel *scc; diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c index f98f5777dfb..3c4455bd466 100644 --- a/drivers/net/hamradio/yam.c +++ b/drivers/net/hamradio/yam.c @@ -702,7 +702,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, struct pt_regs *regs) +static irqreturn_t yam_interrupt(int irq, void *dev_id)  {  	struct net_device *dev;  	struct yam_port *yp; diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c index ae8ad4f763b..844c136e992 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, struct pt_regs *regs); +static irqreturn_t hp100_interrupt(int irq, 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); @@ -2187,7 +2187,7 @@ static void hp100_set_multicast_list(struct net_device *dev)   *  hardware interrupt handling   */ -static irqreturn_t hp100_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t hp100_interrupt(int irq, 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 d52e3bd0130..ffeafb28f78 100644 --- a/drivers/net/ibm_emac/ibm_emac_core.c +++ b/drivers/net/ibm_emac/ibm_emac_core.c @@ -184,7 +184,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, struct pt_regs *regs); +static irqreturn_t emac_irq(int 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) @@ -1515,7 +1515,7 @@ static void emac_rxde(void *param)  }  /* Hard IRQ */ -static irqreturn_t emac_irq(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t emac_irq(int 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_debug.c b/drivers/net/ibm_emac/ibm_emac_debug.c index c3645908034..92f970d402d 100644 --- a/drivers/net/ibm_emac/ibm_emac_debug.c +++ b/drivers/net/ibm_emac/ibm_emac_debug.c @@ -179,8 +179,7 @@ void emac_dbg_dump_all(void)  }  #if defined(CONFIG_MAGIC_SYSRQ) -static void emac_sysrq_handler(int key, struct pt_regs *pt_regs, -			       struct tty_struct *tty) +static void emac_sysrq_handler(int key, struct tty_struct *tty)  {  	emac_dbg_dump_all();  } diff --git a/drivers/net/ibm_emac/ibm_emac_mal.c b/drivers/net/ibm_emac/ibm_emac_mal.c index af50e7b2e0d..6c0f071e405 100644 --- a/drivers/net/ibm_emac/ibm_emac_mal.c +++ b/drivers/net/ibm_emac/ibm_emac_mal.c @@ -168,7 +168,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, struct pt_regs *regs) +static irqreturn_t mal_serr(int irq, void *dev_instance)  {  	struct ibm_ocp_mal *mal = dev_instance;  	u32 esr = get_mal_dcrn(mal, MAL_ESR); @@ -216,7 +216,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, struct pt_regs *regs) +static irqreturn_t mal_txeob(int irq, void *dev_instance)  {  	struct ibm_ocp_mal *mal = dev_instance;  	u32 r = get_mal_dcrn(mal, MAL_TXEOBISR); @@ -226,7 +226,7 @@ static irqreturn_t mal_txeob(int irq, void *dev_instance, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t mal_rxeob(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t mal_rxeob(int irq, void *dev_instance)  {  	struct ibm_ocp_mal *mal = dev_instance;  	u32 r = get_mal_dcrn(mal, MAL_RXEOBISR); @@ -236,7 +236,7 @@ static irqreturn_t mal_rxeob(int irq, void *dev_instance, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t mal_txde(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t mal_txde(int irq, void *dev_instance)  {  	struct ibm_ocp_mal *mal = dev_instance;  	u32 deir = get_mal_dcrn(mal, MAL_TXDEIR); @@ -252,7 +252,7 @@ static irqreturn_t mal_txde(int irq, void *dev_instance, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t mal_rxde(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t mal_rxde(int irq, 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 2a95d72fa59..3f946c81151 100644 --- a/drivers/net/ibmlana.c +++ b/drivers/net/ibmlana.c @@ -705,7 +705,7 @@ static void irqtxerr_handler(struct net_device *dev)  /* general interrupt entry */ -static irqreturn_t irq_handler(int irq, void *device, struct pt_regs *regs) +static irqreturn_t irq_handler(int irq, 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 767203d35bc..4bac3cd8f23 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, struct pt_regs *regs); +static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance);  static inline void ibmveth_rxq_harvest_buffer(struct ibmveth_adapter *adapter);  static struct kobj_type ktype_veth_pool; @@ -543,7 +543,7 @@ static int ibmveth_open(struct net_device *netdev)  	}  	ibmveth_debug_printk("initial replenish cycle\n"); -	ibmveth_interrupt(netdev->irq, netdev, NULL); +	ibmveth_interrupt(netdev->irq, netdev);  	netif_start_queue(netdev); @@ -816,7 +816,7 @@ static int ibmveth_poll(struct net_device *netdev, int *budget)  	return 0;  } -static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance)  {  	struct net_device *netdev = dev_instance;  	struct ibmveth_adapter *adapter = netdev->priv; @@ -1261,7 +1261,7 @@ const char * buf, size_t count)  	}  	/* kick the interrupt handler to allocate/deallocate pools */ -	ibmveth_interrupt(netdev->irq, netdev, NULL); +	ibmveth_interrupt(netdev->irq, netdev);  	return count;  } diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c index 87650237dc5..e963dbf816b 100644 --- a/drivers/net/ioc3-eth.c +++ b/drivers/net/ioc3-eth.c @@ -750,7 +750,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, struct pt_regs *regs) +static irqreturn_t ioc3_interrupt(int irq, void *_dev)  {  	struct net_device *dev = (struct net_device *)_dev;  	struct ioc3_private *ip = netdev_priv(dev); diff --git a/drivers/net/irda/ali-ircc.c b/drivers/net/irda/ali-ircc.c index 68d4c418cb9..971e2dee1e6 100644 --- a/drivers/net/irda/ali-ircc.c +++ b/drivers/net/irda/ali-ircc.c @@ -660,8 +660,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, -					struct pt_regs *regs) +static irqreturn_t ali_ircc_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct ali_ircc_cb *self; diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c index 7b2b4135bb2..37914dc5b90 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 *, struct pt_regs *); +static void 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,7 +627,7 @@ static int au1k_irda_rx(struct net_device *dev)  } -void au1k_irda_interrupt(int irq, void *dev_id, struct pt_regs *regs) +void au1k_irda_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id; diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c index 33c07d5275d..7a9128181e6 100644 --- a/drivers/net/irda/donauboe.c +++ b/drivers/net/irda/donauboe.c @@ -709,7 +709,7 @@ stuff_byte (__u8 byte, __u8 * buf)  }  static irqreturn_t -toshoboe_probeinterrupt (int irq, void *dev_id, struct pt_regs *regs) +toshoboe_probeinterrupt (int irq, void *dev_id)  {    struct toshoboe_cb *self = (struct toshoboe_cb *) dev_id;    __u8 irqstat; @@ -1161,7 +1161,7 @@ dumpbufs(skb->data,skb->len,'>');  /*interrupt handler */  static irqreturn_t -toshoboe_interrupt (int irq, void *dev_id, struct pt_regs *regs) +toshoboe_interrupt (int irq, void *dev_id)  {    struct toshoboe_cb *self = (struct toshoboe_cb *) dev_id;    __u8 irqstat; diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c index 383cef1f599..14bda765c2f 100644 --- a/drivers/net/irda/irda-usb.c +++ b/drivers/net/irda/irda-usb.c @@ -114,9 +114,9 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self);  static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *dev);  static int irda_usb_open(struct irda_usb_cb *self);  static void irda_usb_close(struct irda_usb_cb *self); -static void speed_bulk_callback(struct urb *urb, struct pt_regs *regs); -static void write_bulk_callback(struct urb *urb, struct pt_regs *regs); -static void irda_usb_receive(struct urb *urb, struct pt_regs *regs); +static void speed_bulk_callback(struct urb *urb); +static void write_bulk_callback(struct urb *urb); +static void irda_usb_receive(struct urb *urb);  static void irda_usb_rx_defer_expired(unsigned long data);  static int irda_usb_net_open(struct net_device *dev);  static int irda_usb_net_close(struct net_device *dev); @@ -343,7 +343,7 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self)   * Speed URB callback   * Now, we can only get called for the speed URB.   */ -static void speed_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void speed_bulk_callback(struct urb *urb)  {  	struct irda_usb_cb *self = urb->context; @@ -562,7 +562,7 @@ drop:  /*   * Note : this function will be called only for tx_urb...   */ -static void write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void write_bulk_callback(struct urb *urb)  {  	unsigned long flags;  	struct sk_buff *skb = urb->context; @@ -809,7 +809,7 @@ static void irda_usb_submit(struct irda_usb_cb *self, struct sk_buff *skb, struc   *     Called by the USB subsystem when a frame has been received   *   */ -static void irda_usb_receive(struct urb *urb, struct pt_regs *regs) +static void irda_usb_receive(struct urb *urb)  {  	struct sk_buff *skb = (struct sk_buff *) urb->context;  	struct irda_usb_cb *self;  diff --git a/drivers/net/irda/irport.c b/drivers/net/irda/irport.c index ba4f3eb988b..6ea78ececca 100644 --- a/drivers/net/irda/irport.c +++ b/drivers/net/irda/irport.c @@ -87,8 +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, -				    struct pt_regs *regs); +static irqreturn_t irport_interrupt(int irq, 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,12 +760,11 @@ static inline void irport_receive(struct irport_cb *self)  }  /* - * Function irport_interrupt (irq, dev_id, regs) + * Function irport_interrupt (irq, dev_id)   *   *    Interrupt handler   */ -static irqreturn_t irport_interrupt(int irq, void *dev_id, -				    struct pt_regs *regs)  +static irqreturn_t irport_interrupt(int irq, void *dev_id)   {  	struct net_device *dev = (struct net_device *) dev_id;  	struct irport_cb *self; diff --git a/drivers/net/irda/irport.h b/drivers/net/irda/irport.h index fc89c8c3dd7..4393168347e 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); -	int (*interrupt)(int irq, void *dev_id, struct pt_regs *regs); +	int (*interrupt)(int irq, void *dev_id);  };  #endif /* IRPORT_H */ diff --git a/drivers/net/irda/mcs7780.c b/drivers/net/irda/mcs7780.c index 415ba8dc94c..b32c52ed19d 100644 --- a/drivers/net/irda/mcs7780.c +++ b/drivers/net/irda/mcs7780.c @@ -764,7 +764,7 @@ static struct net_device_stats *mcs_net_get_stats(struct net_device *netdev)  }  /* Receive callback function.  */ -static void mcs_receive_irq(struct urb *urb, struct pt_regs *regs) +static void mcs_receive_irq(struct urb *urb)  {  	__u8 *bytes;  	struct mcs_cb *mcs = urb->context; @@ -813,7 +813,7 @@ static void mcs_receive_irq(struct urb *urb, struct pt_regs *regs)  }  /* Transmit callback funtion.  */ -static void mcs_send_irq(struct urb *urb, struct pt_regs *regs) +static void mcs_send_irq(struct urb *urb)  {  	struct mcs_cb *mcs = urb->context;  	struct net_device *ndev = mcs->netdev; diff --git a/drivers/net/irda/mcs7780.h b/drivers/net/irda/mcs7780.h index 1a723d725c2..b18148cee63 100644 --- a/drivers/net/irda/mcs7780.h +++ b/drivers/net/irda/mcs7780.h @@ -156,8 +156,8 @@ static int mcs_net_close(struct net_device *netdev);  static int mcs_net_open(struct net_device *netdev);  static struct net_device_stats *mcs_net_get_stats(struct net_device *netdev); -static void mcs_receive_irq(struct urb *urb, struct pt_regs *regs); -static void mcs_send_irq(struct urb *urb, struct pt_regs *regs); +static void mcs_receive_irq(struct urb *urb); +static void mcs_send_irq(struct urb *urb);  static int mcs_hard_xmit(struct sk_buff *skb, struct net_device *netdev);  static int mcs_probe(struct usb_interface *intf, diff --git a/drivers/net/irda/nsc-ircc.c b/drivers/net/irda/nsc-ircc.c index 7185a4ee3c1..ea12e999814 100644 --- a/drivers/net/irda/nsc-ircc.c +++ b/drivers/net/irda/nsc-ircc.c @@ -2066,8 +2066,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, -				struct pt_regs *regs) +static irqreturn_t nsc_ircc_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct nsc_ircc_cb *self; diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c index afb19e8d95c..f9a1c88a428 100644 --- a/drivers/net/irda/pxaficp_ir.c +++ b/drivers/net/irda/pxaficp_ir.c @@ -199,7 +199,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, struct pt_regs *regs) +static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct pxa_irda *si = netdev_priv(dev); @@ -281,7 +281,7 @@ static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id, struct pt_regs *regs)  }  /* FIR Receive DMA interrupt handler */ -static void pxa_irda_fir_dma_rx_irq(int channel, void *data, struct pt_regs *regs) +static void pxa_irda_fir_dma_rx_irq(int channel, void *data)  {  	int dcsr = DCSR(channel); @@ -291,7 +291,7 @@ static void pxa_irda_fir_dma_rx_irq(int channel, void *data, struct pt_regs *reg  }  /* FIR Transmit DMA interrupt handler */ -static void pxa_irda_fir_dma_tx_irq(int channel, void *data, struct pt_regs *regs) +static void pxa_irda_fir_dma_tx_irq(int channel, void *data)  {  	struct net_device *dev = data;  	struct pxa_irda *si = netdev_priv(dev); @@ -388,7 +388,7 @@ static void pxa_irda_fir_irq_eif(struct pxa_irda *si, struct net_device *dev)  }  /* FIR interrupt handler */ -static irqreturn_t pxa_irda_fir_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t pxa_irda_fir_irq(int 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 8d5a288d797..937372d0039 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, struct pt_regs *regs) +static irqreturn_t sa1100_irda_irq(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	if (IS_FIR(((struct sa1100_irda *)dev->priv))) diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c index 22358ff68c4..31c623381ea 100644 --- a/drivers/net/irda/smsc-ircc2.c +++ b/drivers/net/irda/smsc-ircc2.c @@ -196,7 +196,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, struct pt_regs *regs); +static irqreturn_t smsc_ircc_interrupt(int irq, 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 @@ -1455,7 +1455,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, struct pt_regs *regs) +static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct smsc_ircc_cb *self; @@ -1520,7 +1520,7 @@ static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id, struct pt_regs *re  }  /* - * Function irport_interrupt_sir (irq, dev_id, regs) + * Function irport_interrupt_sir (irq, dev_id)   *   *    Interrupt handler for SIR modes   */ diff --git a/drivers/net/irda/stir4200.c b/drivers/net/irda/stir4200.c index 12103c93f7e..be8a66e702b 100644 --- a/drivers/net/irda/stir4200.c +++ b/drivers/net/irda/stir4200.c @@ -804,7 +804,7 @@ static int stir_transmit_thread(void *arg)   * Wakes up every ms (usb round trip) with wrapped    * data.   */ -static void stir_rcv_irq(struct urb *urb, struct pt_regs *regs) +static void stir_rcv_irq(struct urb *urb)  {  	struct stir_cb *stir = urb->context;  	int err; diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c index d916e1257c4..c3ed9b3067e 100644 --- a/drivers/net/irda/via-ircc.c +++ b/drivers/net/irda/via-ircc.c @@ -93,8 +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, -				      struct pt_regs *regs); +static irqreturn_t via_ircc_interrupt(int irq, void *dev_id);  static int via_ircc_is_receiving(struct via_ircc_cb *self);  static int via_ircc_read_dongle_id(int iobase); @@ -1345,13 +1344,12 @@ static int RxTimerHandler(struct via_ircc_cb *self, int iobase)  /* - * Function via_ircc_interrupt (irq, dev_id, regs) + * Function via_ircc_interrupt (irq, dev_id)   *   *    An interrupt from the chip has arrived. Time to do some work   *   */ -static irqreturn_t via_ircc_interrupt(int irq, void *dev_id, -				      struct pt_regs *regs) +static irqreturn_t via_ircc_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct via_ircc_cb *self; diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c index 92d646cc9ed..18c68193bf1 100644 --- a/drivers/net/irda/vlsi_ir.c +++ b/drivers/net/irda/vlsi_ir.c @@ -1455,8 +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, -					struct pt_regs *regs) +static irqreturn_t vlsi_interrupt(int irq, 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 7de1afdeec3..b4fb92a7baa 100644 --- a/drivers/net/irda/w83977af_ir.c +++ b/drivers/net/irda/w83977af_ir.c @@ -1111,8 +1111,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, -					struct pt_regs *regs) +static irqreturn_t w83977af_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct w83977af_ir *self; diff --git a/drivers/net/isa-skeleton.c b/drivers/net/isa-skeleton.c index 984c31d1b3f..0343f12d2ff 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, struct pt_regs *regs); +static irqreturn_t net_interrupt(int irq, 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); @@ -504,7 +504,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, struct pt_regs * regs) +static irqreturn_t net_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct net_local *np; diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c index 41b1d08fd57..2284e2ce169 100644 --- a/drivers/net/iseries_veth.c +++ b/drivers/net/iseries_veth.c @@ -586,7 +586,7 @@ static void veth_handle_int(struct veth_lpevent *event)  	};  } -static void veth_handle_event(struct HvLpEvent *event, struct pt_regs *regs) +static void veth_handle_event(struct HvLpEvent *event)  {  	struct veth_lpevent *veth_event = (struct veth_lpevent *)event; diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c index cfde7c2569b..e09f575a3a3 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, struct pt_regs *regs); +static irqreturn_t ixgb_intr(int irq, void *data);  static boolean_t ixgb_clean_tx_irq(struct ixgb_adapter *adapter);  #ifdef CONFIG_IXGB_NAPI @@ -1687,11 +1687,10 @@ ixgb_update_stats(struct ixgb_adapter *adapter)   * ixgb_intr - Interrupt Handler   * @irq: interrupt number   * @data: pointer to a network interface device structure - * @pt_regs: CPU registers structure   **/  static irqreturn_t -ixgb_intr(int irq, void *data, struct pt_regs *regs) +ixgb_intr(int irq, void *data)  {  	struct net_device *netdev = data;  	struct ixgb_adapter *adapter = netdev_priv(netdev); @@ -2213,7 +2212,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, NULL); +	ixgb_intr(adapter->pdev->irq, dev);  	enable_irq(adapter->pdev->irq);  }  #endif diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c index 6eeb965b4d7..a4eccb11d67 100644 --- a/drivers/net/ixp2000/ixpdev.c +++ b/drivers/net/ixp2000/ixpdev.c @@ -188,7 +188,7 @@ static void ixpdev_tx_complete(void)  	}  } -static irqreturn_t ixpdev_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ixpdev_interrupt(int irq, void *dev_id)  {  	u32 status; diff --git a/drivers/net/lance.c b/drivers/net/lance.c index f349e88e0dd..7afac47e59a 100644 --- a/drivers/net/lance.c +++ b/drivers/net/lance.c @@ -301,7 +301,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, struct pt_regs *regs); +static irqreturn_t lance_interrupt(int irq, 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); @@ -1012,8 +1012,7 @@ out:  }  /* The LANCE interrupt handler. */ -static irqreturn_t -lance_interrupt(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t lance_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct lance_private *lp; diff --git a/drivers/net/lasi_82596.c b/drivers/net/lasi_82596.c index da1eedef0b5..8cbd940f0ac 100644 --- a/drivers/net/lasi_82596.c +++ b/drivers/net/lasi_82596.c @@ -403,7 +403,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, struct pt_regs *regs); +static irqreturn_t i596_interrupt(int irq, void *dev_id);  static int i596_close(struct net_device *dev);  static struct net_device_stats *i596_get_stats(struct net_device *dev);  static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd); @@ -527,7 +527,7 @@ static void i596_display_data(struct net_device *dev)  #if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET) -static void i596_error(int irq, void *dev_id, struct pt_regs *regs) +static void i596_error(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	volatile unsigned char *pcc2 = (unsigned char *) 0xfff42000; @@ -1257,7 +1257,7 @@ static void i596_poll_controller(struct net_device *dev)  }  #endif -static irqreturn_t i596_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t i596_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct i596_private *lp; diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c index 0258aaca9ed..b833016f182 100644 --- a/drivers/net/lp486e.c +++ b/drivers/net/lp486e.c @@ -379,7 +379,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, struct pt_regs *regs); +static irqreturn_t i596_interrupt(int irq, void *dev_id);  static int i596_close(struct net_device *dev);  static struct net_device_stats *i596_get_stats(struct net_device *dev);  static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd); @@ -1151,7 +1151,7 @@ i596_handle_CU_completion(struct net_device *dev,  }  static irqreturn_t -i596_interrupt (int irq, void *dev_instance, struct pt_regs *regs) { +i596_interrupt (int irq, 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 8472b71641d..e960138011c 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, struct pt_regs *regs); +static irqreturn_t net_interrupt(int irq, 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); @@ -431,7 +431,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, struct pt_regs * regs) +static irqreturn_t net_interrupt(int irq, 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 27c24eaa241..2907cfb12ad 100644 --- a/drivers/net/mace.c +++ b/drivers/net/mace.c @@ -82,9 +82,9 @@ static struct net_device_stats *mace_stats(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, struct pt_regs *regs); -static irqreturn_t mace_txdma_intr(int irq, void *dev_id, struct pt_regs *regs); -static irqreturn_t mace_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs); +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 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); @@ -678,7 +678,7 @@ static void mace_handle_misc_intrs(struct mace_data *mp, int intr)  	    printk(KERN_DEBUG "mace: jabbering transceiver\n");  } -static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mace_interrupt(int irq, void *dev_id)  {      struct net_device *dev = (struct net_device *) dev_id;      struct mace_data *mp = (struct mace_data *) dev->priv; @@ -890,12 +890,12 @@ out:      spin_unlock_irqrestore(&mp->lock, flags);  } -static irqreturn_t mace_txdma_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mace_txdma_intr(int irq, void *dev_id)  {  	return IRQ_HANDLED;  } -static irqreturn_t mace_rxdma_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mace_rxdma_intr(int irq, 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 696d5513e55..464e4a6f3d5 100644 --- a/drivers/net/macmace.c +++ b/drivers/net/macmace.c @@ -77,8 +77,8 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev);  static struct net_device_stats *mace_stats(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 irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs); -static irqreturn_t mace_dma_intr(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t mace_interrupt(int irq, void *dev_id); +static irqreturn_t mace_dma_intr(int irq, void *dev_id);  static void mace_tx_timeout(struct net_device *dev);  /* Bit-reverse one byte of an ethernet hardware address. */ @@ -573,7 +573,7 @@ static void mace_recv_interrupt(struct net_device *dev)   * Process the chip interrupt   */ -static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t mace_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct mace_data *mp = (struct mace_data *) dev->priv; @@ -645,7 +645,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, struct pt_regs *regs) +static irqreturn_t mace_dma_intr(int irq, 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/meth.c b/drivers/net/meth.c index 55b1495a70d..c1aa60b9a98 100644 --- a/drivers/net/meth.c +++ b/drivers/net/meth.c @@ -92,7 +92,7 @@ struct meth_private {  };  static void meth_tx_timeout(struct net_device *dev); -static irqreturn_t meth_interrupt(int irq, void *dev_id, struct pt_regs *pregs); +static irqreturn_t meth_interrupt(int irq, void *dev_id);  /* global, initialized in ip32-setup.c */  char o2meth_eaddr[8]={0,0,0,0,0,0,0,0}; @@ -569,7 +569,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, struct pt_regs *pregs) +static irqreturn_t meth_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct meth_private *priv = (struct meth_private *) dev->priv; diff --git a/drivers/net/mipsnet.c b/drivers/net/mipsnet.c index 07e58f4a291..c9469985bd7 100644 --- a/drivers/net/mipsnet.c +++ b/drivers/net/mipsnet.c @@ -116,8 +116,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, struct pt_regs *regs) +static irqreturn_t mipsnet_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id; diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index 7f8e5ad1b70..d26a819a973 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c @@ -507,8 +507,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, -						struct pt_regs *regs) +static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct mv643xx_private *mp = netdev_priv(dev); diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index 4330197994d..fdbb0d7213b 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c @@ -1148,7 +1148,7 @@ static int myri10ge_poll(struct net_device *netdev, int *budget)  	return 1;  } -static irqreturn_t myri10ge_intr(int irq, void *arg, struct pt_regs *regs) +static irqreturn_t myri10ge_intr(int irq, 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 a925bc9db4a..466b484c9fa 100644 --- a/drivers/net/myri_sbus.c +++ b/drivers/net/myri_sbus.c @@ -536,7 +536,7 @@ static void myri_rx(struct myri_eth *mp, struct net_device *dev)  	}  } -static irqreturn_t myri_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t myri_interrupt(int irq, 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 d7b241f7d7b..ffa0afd2edd 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c @@ -623,7 +623,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, struct pt_regs *regs); +static irqreturn_t intr_handler(int irq, void *dev_instance);  static void netdev_error(struct net_device *dev, int intr_status);  static int natsemi_poll(struct net_device *dev, int *budget);  static void netdev_rx(struct net_device *dev, int *work_done, int work_to_do); @@ -2088,7 +2088,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, struct pt_regs *rgs) +static irqreturn_t intr_handler(int irq, void *dev_instance)  {  	struct net_device *dev = dev_instance;  	struct netdev_private *np = netdev_priv(dev); @@ -2373,7 +2373,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, NULL); +	intr_handler(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/netx-eth.c b/drivers/net/netx-eth.c index 30ed9a5a40e..a53644f6a29 100644 --- a/drivers/net/netx-eth.c +++ b/drivers/net/netx-eth.c @@ -176,7 +176,7 @@ static void netx_eth_receive(struct net_device *ndev)  }  static irqreturn_t -netx_eth_interrupt(int irq, void *dev_id, struct pt_regs *regs) +netx_eth_interrupt(int irq, 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 383c690eefe..8be0d030d6f 100644 --- a/drivers/net/ni5010.c +++ b/drivers/net/ni5010.c @@ -99,7 +99,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, struct pt_regs *regs); +static irqreturn_t ni5010_interrupt(int irq, 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); @@ -468,7 +468,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, struct pt_regs *regs) +static irqreturn_t ni5010_interrupt(int irq, 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 e8889235996..26e42f6e9fb 100644 --- a/drivers/net/ni52.c +++ b/drivers/net/ni52.c @@ -195,7 +195,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,struct pt_regs *reg_ptr); +static irqreturn_t ni52_interrupt(int irq,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 *); @@ -837,7 +837,7 @@ static void *alloc_rfa(struct net_device *dev,void *ptr)   * Interrupt Handler ...   */ -static irqreturn_t ni52_interrupt(int irq,void *dev_id,struct pt_regs *reg_ptr) +static irqreturn_t ni52_interrupt(int irq,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 fab3c8593ac..340ad0d5388 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, struct pt_regs *regs); +static irqreturn_t ni65_interrupt(int irq, 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); @@ -871,7 +871,7 @@ static int ni65_lance_reinit(struct net_device *dev)  /*   * interrupt handler   */ -static irqreturn_t ni65_interrupt(int irq, void * dev_id, struct pt_regs * regs) +static irqreturn_t ni65_interrupt(int irq, void * dev_id)  {  	int csr0 = 0;  	struct net_device *dev = dev_id; diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index e10da1aa3d3..b0127c71a5b 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c @@ -1288,7 +1288,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, struct pt_regs *regs) +static irqreturn_t ns83820_irq(int foo, 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 2687e747657..00ca0fdb837 100644 --- a/drivers/net/pci-skeleton.c +++ b/drivers/net/pci-skeleton.c @@ -502,8 +502,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, -			       struct pt_regs *regs); +static irqreturn_t netdrv_interrupt (int irq, 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 struct net_device_stats *netdrv_get_stats (struct net_device *dev); @@ -1654,8 +1653,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, -			       struct pt_regs *regs) +static irqreturn_t netdrv_interrupt (int irq, 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 2418cdb9d31..04600992852 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, struct pt_regs *regs); +static irqreturn_t el3_interrupt(int irq, 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); @@ -817,7 +817,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, struct pt_regs *regs) +static irqreturn_t el3_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct el3_private *lp = netdev_priv(dev); @@ -927,7 +927,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, lp, NULL); +		el3_interrupt(dev->irq, lp);  		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 a0e2b01c027..231fa2c9ec6 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, struct pt_regs *regs); +static irqreturn_t el3_interrupt(int irq, 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); @@ -645,7 +645,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, struct pt_regs *regs) +static irqreturn_t el3_interrupt(int irq, void *dev_id)  {      struct net_device *dev = (struct net_device *) dev_id;      struct el3_private *lp = netdev_priv(dev); @@ -748,7 +748,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, lp, NULL); +	el3_interrupt(dev->irq, lp);  	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 a8891a9000a..e5f36691091 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, struct pt_regs *regs); +static irqreturn_t ei_irq_wrapper(int irq, 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, struct pt_regs *regs); +static irqreturn_t ax_interrupt(int irq, 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, struct pt_regs *regs) +static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)  {      struct net_device *dev = dev_id;      PRIV(dev)->stale = 0; -    return ax_interrupt(irq, dev_id, regs); +    return ax_interrupt(irq, 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, NULL); +	ei_irq_wrapper(dev->irq, dev);  	info->fast_poll = HZ;      }      if (info->fast_poll) { @@ -1193,7 +1193,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, struct pt_regs * regs) +static irqreturn_t ax_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	long e8390_base; diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c index d682f30dea6..65f6fdf4372 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, struct pt_regs *regs); +static irqreturn_t fjn_interrupt(int irq, 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); @@ -733,7 +733,7 @@ module_exit(exit_fmvj18x_cs);  /*====================================================================*/ -static irqreturn_t fjn_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t fjn_interrupt(int irq, void *dev_id)  {      struct net_device *dev = dev_id;      local_info_t *lp = netdev_priv(dev); diff --git a/drivers/net/pcmcia/nmclan_cs.c b/drivers/net/pcmcia/nmclan_cs.c index 7d5687e9460..e77110e4c28 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, struct pt_regs *regs); +static irqreturn_t mace_interrupt(int irq, 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); @@ -1002,7 +1002,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, struct pt_regs *regs) +static irqreturn_t mace_interrupt(int irq, 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 a09c22840f6..0c00d182e7f 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, struct pt_regs *regs); +static irqreturn_t ei_irq_wrapper(int irq, 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); @@ -1071,11 +1071,11 @@ static int set_config(struct net_device *dev, struct ifmap *map)  /*====================================================================*/ -static irqreturn_t ei_irq_wrapper(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)  {      struct net_device *dev = dev_id;      pcnet_dev_t *info; -    irqreturn_t ret = ei_interrupt(irq, dev_id, regs); +    irqreturn_t ret = ei_interrupt(irq, dev_id);      if (ret == IRQ_HANDLED) {  	    info = PRIV(dev); @@ -1100,7 +1100,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, NULL); +	ei_irq_wrapper(dev->irq, 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 a2f3a0e2a00..20fcc357620 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, struct pt_regs *regs); +static irqreturn_t smc_interrupt(int irq, 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); @@ -1545,7 +1545,7 @@ static void smc_eph_irq(struct net_device *dev)  /*====================================================================*/ -static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t smc_interrupt(int irq, void *dev_id)  {      struct net_device *dev = dev_id;      struct smc_private *smc = netdev_priv(dev); @@ -1966,7 +1966,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, smc, NULL); +	smc_interrupt(dev->irq, smc);  	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 62664c01eb4..f3914f58d67 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, struct pt_regs *regs); +static irqreturn_t xirc2ps_interrupt(int irq, void *dev_id);  /****************   * A linked list of "instances" of the device.  Each actual @@ -1121,7 +1121,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, struct pt_regs *regs) +xirc2ps_interrupt(int irq, 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 a43e24245b7..c73e2f21077 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c @@ -304,7 +304,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 *, struct pt_regs *); +static irqreturn_t pcnet32_interrupt(int, 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); @@ -674,7 +674,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, NULL); +	pcnet32_interrupt(0, dev);  	enable_irq(dev->irq);  }  #endif @@ -2561,7 +2561,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, struct pt_regs *regs) +pcnet32_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct pcnet32_private *lp; diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index f5aad77288f..3af9fcf76c8 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -480,7 +480,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, struct pt_regs *regs) +static irqreturn_t phy_interrupt(int irq, void *phy_dat)  {  	struct phy_device *phydev = phy_dat; diff --git a/drivers/net/plip.c b/drivers/net/plip.c index d4f54e9798c..c0b333d2917 100644 --- a/drivers/net/plip.c +++ b/drivers/net/plip.c @@ -143,7 +143,7 @@ static void plip_bh(struct net_device *dev);  static void plip_timer_bh(struct net_device *dev);  /* Interrupt handler */ -static void plip_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static void plip_interrupt(int irq, void *dev_id);  /* Functions for DEV methods */  static int plip_tx_packet(struct sk_buff *skb, struct net_device *dev); @@ -385,7 +385,7 @@ plip_timer_bh(struct net_device *dev)  	struct net_local *nl = netdev_priv(dev);  	if (!(atomic_read (&nl->kill_timer))) { -		plip_interrupt (-1, dev, NULL); +		plip_interrupt (-1, dev);  		schedule_delayed_work(&nl->timer, 1);  	} @@ -902,7 +902,7 @@ plip_error(struct net_device *dev, struct net_local *nl,  /* Handle the parallel port interrupts. */  static void -plip_interrupt(int irq, void *dev_id, struct pt_regs * regs) +plip_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct net_local *nl; diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c index 15747184634..ec640f6229a 100644 --- a/drivers/net/qla3xxx.c +++ b/drivers/net/qla3xxx.c @@ -1965,7 +1965,7 @@ quit_polling:  	return 1;  } -static irqreturn_t ql3xxx_isr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ql3xxx_isr(int irq, void *dev_id)  {  	struct net_device *ndev = dev_id; diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 4c47c5b10ba..f1c75751cab 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -473,8 +473,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, -			      struct pt_regs *regs); +static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance);  static int rtl8169_init_ring(struct net_device *dev);  static void rtl8169_hw_start(struct net_device *dev);  static int rtl8169_close(struct net_device *dev); @@ -1392,7 +1391,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, NULL); +	rtl8169_interrupt(pdev->irq, dev);  	enable_irq(pdev->irq);  }  #endif @@ -2592,7 +2591,7 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp,  /* The interrupt handler does all of the Rx thread work and cleans up after the Tx thread. */  static irqreturn_t -rtl8169_interrupt(int irq, void *dev_instance, struct pt_regs *regs) +rtl8169_interrupt(int irq, void *dev_instance)  {  	struct net_device *dev = (struct net_device *) dev_instance;  	struct rtl8169_private *tp = netdev_priv(dev); diff --git a/drivers/net/rrunner.c b/drivers/net/rrunner.c index 6108bac8d56..d81536f90df 100644 --- a/drivers/net/rrunner.c +++ b/drivers/net/rrunner.c @@ -1053,7 +1053,7 @@ static void rx_int(struct net_device *dev, u32 rxlimit, u32 index)  } -static irqreturn_t rr_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) +static irqreturn_t rr_interrupt(int irq, 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 99451b52339..9f3e050c4dc 100644 --- a/drivers/net/rrunner.h +++ b/drivers/net/rrunner.h @@ -829,7 +829,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, struct pt_regs *regs); +static irqreturn_t rr_interrupt(int irq, 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 1bf23e41f58..a231ab7d28d 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -4029,8 +4029,7 @@ static int s2io_chk_rx_buffers(nic_t *sp, int rng_n)  	return 0;  } -static irqreturn_t -s2io_msi_handle(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t s2io_msi_handle(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	nic_t *sp = dev->priv; @@ -4063,8 +4062,7 @@ s2io_msi_handle(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t -s2io_msix_ring_handle(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t s2io_msix_ring_handle(int irq, void *dev_id)  {  	ring_info_t *ring = (ring_info_t *)dev_id;  	nic_t *sp = ring->nic; @@ -4078,8 +4076,7 @@ s2io_msix_ring_handle(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t -s2io_msix_fifo_handle(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t s2io_msix_fifo_handle(int irq, void *dev_id)  {  	fifo_info_t *fifo = (fifo_info_t *)dev_id;  	nic_t *sp = fifo->nic; @@ -4155,7 +4152,6 @@ static void s2io_txpic_intr_handle(nic_t *sp)   *  s2io_isr - ISR handler of the device .   *  @irq: the irq of the device.   *  @dev_id: a void pointer to the dev structure of the NIC. - *  @pt_regs: pointer to the registers pushed on the stack.   *  Description:  This function is the ISR handler of the device. It   *  identifies the reason for the interrupt and calls the relevant   *  service routines. As a contongency measure, this ISR allocates the @@ -4165,7 +4161,7 @@ static void s2io_txpic_intr_handle(nic_t *sp)   *   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, struct pt_regs *regs) +static irqreturn_t s2io_isr(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	nic_t *sp = dev->priv; diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h index 3afd9126a59..72f52dc98f5 100644 --- a/drivers/net/s2io.h +++ b/drivers/net/s2io.h @@ -992,12 +992,12 @@ static void s2io_init_pci(nic_t * sp);  static int s2io_set_mac_addr(struct net_device *dev, u8 * addr);  static void s2io_alarm_handle(unsigned long data);  static int s2io_enable_msi(nic_t *nic); -static irqreturn_t s2io_msi_handle(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t s2io_msi_handle(int irq, void *dev_id);  static irqreturn_t -s2io_msix_ring_handle(int irq, void *dev_id, struct pt_regs *regs); +s2io_msix_ring_handle(int irq, void *dev_id);  static irqreturn_t -s2io_msix_fifo_handle(int irq, void *dev_id, struct pt_regs *regs); -static irqreturn_t s2io_isr(int irq, void *dev_id, struct pt_regs *regs); +s2io_msix_fifo_handle(int irq, void *dev_id); +static irqreturn_t s2io_isr(int irq, void *dev_id);  static int verify_xena_quiescence(nic_t *sp, u64 val64, int flag);  static const struct ethtool_ops netdev_ethtool_ops;  static void s2io_set_link(unsigned long data); diff --git a/drivers/net/saa9730.c b/drivers/net/saa9730.c index c479b07be78..c9efad8a917 100644 --- a/drivers/net/saa9730.c +++ b/drivers/net/saa9730.c @@ -745,8 +745,7 @@ static int lan_saa9730_rx(struct net_device *dev)  	return 0;  } -static irqreturn_t lan_saa9730_interrupt(const int irq, void *dev_id, -				  struct pt_regs *regs) +static irqreturn_t lan_saa9730_interrupt(const int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct lan_saa9730_private *lp = netdev_priv(dev); diff --git a/drivers/net/sb1000.c b/drivers/net/sb1000.c index a1789ae5927..dc30dee5537 100644 --- a/drivers/net/sb1000.c +++ b/drivers/net/sb1000.c @@ -84,7 +84,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, struct pt_regs *regs); +static irqreturn_t sb1000_interrupt(int irq, void *dev_id);  static struct net_device_stats *sb1000_stats(struct net_device *dev);  static int sb1000_close(struct net_device *dev); @@ -1079,7 +1079,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, struct pt_regs *regs) +static irqreturn_t sb1000_interrupt(int irq, void *dev_id)  {  	char *name;  	unsigned char st; diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c index e4c8896b76c..db2324939b6 100644 --- a/drivers/net/sb1250-mac.c +++ b/drivers/net/sb1250-mac.c @@ -294,7 +294,7 @@ static void sbmac_channel_stop(struct sbmac_softc *s);  static sbmac_state_t sbmac_set_channel_state(struct sbmac_softc *,sbmac_state_t);  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,struct pt_regs *rgs); +static irqreturn_t sbmac_intr(int irq,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 net_device *dev, int idx); @@ -2049,7 +2049,7 @@ static int sbmac_set_duplex(struct sbmac_softc *s,sbmac_duplex_t duplex,sbmac_fc   *  Return value:   *  	   nothing   ********************************************************************* */ -static irqreturn_t sbmac_intr(int irq,void *dev_instance,struct pt_regs *rgs) +static irqreturn_t sbmac_intr(int irq,void *dev_instance)  {  	struct net_device *dev = (struct net_device *) dev_instance;  	struct sbmac_softc *sc = netdev_priv(dev); diff --git a/drivers/net/seeq8005.c b/drivers/net/seeq8005.c index 20afdc7f2b9..d9d0a3a3c55 100644 --- a/drivers/net/seeq8005.c +++ b/drivers/net/seeq8005.c @@ -83,7 +83,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, struct pt_regs *regs); +static irqreturn_t seeq8005_interrupt(int irq, void *dev_id);  static void seeq8005_rx(struct net_device *dev);  static int seeq8005_close(struct net_device *dev);  static struct net_device_stats *seeq8005_get_stats(struct net_device *dev); @@ -437,7 +437,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, struct pt_regs * regs) +static irqreturn_t seeq8005_interrupt(int irq, 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 f95a5b0223f..a833e7f9757 100644 --- a/drivers/net/sgiseeq.c +++ b/drivers/net/sgiseeq.c @@ -432,7 +432,7 @@ static inline void sgiseeq_tx(struct net_device *dev, struct sgiseeq_private *sp  	}  } -static irqreturn_t sgiseeq_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sgiseeq_interrupt(int irq, 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 e8f26b79bba..aaba458584f 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c @@ -713,7 +713,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, struct pt_regs *regs) +static irqreturn_t sis190_interrupt(int irq, void *__dev)  {  	struct net_device *dev = __dev;  	struct sis190_private *tp = netdev_priv(dev); @@ -758,7 +758,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, NULL); +	sis190_interrupt(pdev->irq, dev);  	enable_irq(pdev->irq);  }  #endif diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c index 28606e20df1..fb2b5305163 100644 --- a/drivers/net/sis900.c +++ b/drivers/net/sis900.c @@ -218,7 +218,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, struct pt_regs *regs); +static irqreturn_t sis900_interrupt(int irq, 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 struct net_device_stats *sis900_get_stats(struct net_device *net_dev); @@ -988,7 +988,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, NULL); +	sis900_interrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif @@ -1642,7 +1642,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, struct pt_regs *regs) +static irqreturn_t sis900_interrupt(int irq, 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 99e92627642..d4913c3de2a 100644 --- a/drivers/net/sk98lin/skge.c +++ b/drivers/net/sk98lin/skge.c @@ -196,8 +196,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, struct pt_regs *ptregs); -static SkIsrRetVar	SkGeIsrOnePort(int irq, void *dev_id, struct pt_regs *ptregs); +static SkIsrRetVar	SkGeIsr(int irq, void *dev_id); +static SkIsrRetVar	SkGeIsrOnePort(int irq, 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); @@ -880,7 +880,7 @@ int	PortIndex)	/* index of the port for which to re-init */   * Returns: N/A   *   */ -static SkIsrRetVar SkGeIsr(int irq, void *dev_id, struct pt_regs *ptregs) +static SkIsrRetVar SkGeIsr(int irq, void *dev_id)  {  struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id;  DEV_NET		*pNet; @@ -1029,7 +1029,7 @@ SK_U32		IntSrc;		/* interrupts source register contents */   * Returns: N/A   *   */ -static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id, struct pt_regs *ptregs) +static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id)  {  struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id;  DEV_NET		*pNet; @@ -1140,7 +1140,7 @@ SK_U32		IntSrc;		/* interrupts source register contents */  static void SkGePollController(struct net_device *dev)  {  	disable_irq(dev->irq); -	SkGeIsr(dev->irq, dev, NULL); +	SkGeIsr(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/sk_mca.c b/drivers/net/sk_mca.c index 37b88da1abe..96e06c51b75 100644 --- a/drivers/net/sk_mca.c +++ b/drivers/net/sk_mca.c @@ -732,7 +732,7 @@ static u16 irqtx_handler(struct net_device *dev, u16 oldcsr0)  /* general interrupt entry */ -static irqreturn_t irq_handler(int irq, void *device, struct pt_regs *regs) +static irqreturn_t irq_handler(int irq, void *device)  {  	struct net_device *dev = (struct net_device *) device;  	u16 csr0val; diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c index 8e4d18440a5..06ea2626c6f 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, struct pt_regs *regs); +static irqreturn_t skfp_interrupt(int irq, 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); @@ -593,7 +593,6 @@ static int skfp_close(struct net_device *dev)   * Arguments:   *   irq        - interrupt vector   *   dev_id     - pointer to device information - *       regs   - pointer to registers structure   *   * Functional Description:   *   This routine calls the interrupt processing routine for this adapter.  It @@ -615,7 +614,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, struct pt_regs *regs) +irqreturn_t skfp_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct s_smc *smc;	/* private board structure pointer */ diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 705e9a8fa30..a4a58e4e93a 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c @@ -3051,7 +3051,7 @@ static void skge_extirq(void *arg)  	spin_unlock_irq(&hw->hw_lock);  } -static irqreturn_t skge_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t skge_intr(int irq, void *dev_id)  {  	struct skge_hw *hw = dev_id;  	u32 status; @@ -3125,7 +3125,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, NULL); +	skge_intr(dev->irq, skge->hw);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 396e7df3c61..459c845d664 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -2364,7 +2364,7 @@ static int sky2_poll(struct net_device *dev0, int *budget)  	}  } -static irqreturn_t sky2_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sky2_intr(int irq, void *dev_id)  {  	struct sky2_hw *hw = dev_id;  	struct net_device *dev0 = hw->dev[0]; @@ -3298,8 +3298,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, -					    struct pt_regs *regs) +static irqreturn_t __devinit sky2_test_intr(int irq, 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 7986514883a..889ef0d7c37 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, NULL); +	ei_interrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index a621b17456e..2c4343395a4 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -1074,7 +1074,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, struct pt_regs *regs) +static irqreturn_t smc911x_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	unsigned long ioaddr = dev->base_addr; @@ -1251,7 +1251,7 @@ static irqreturn_t smc911x_interrupt(int irq, void *dev_id, struct pt_regs *regs  #ifdef SMC_USE_DMA  static void -smc911x_tx_dma_irq(int dma, void *data, struct pt_regs *regs) +smc911x_tx_dma_irq(int dma, void *data)  {  	struct net_device *dev = (struct net_device *)data;  	struct smc911x_local *lp = netdev_priv(dev); @@ -1285,7 +1285,7 @@ smc911x_tx_dma_irq(int dma, void *data, struct pt_regs *regs)  		"%s: TX DMA irq completed\n", dev->name);  }  static void -smc911x_rx_dma_irq(int dma, void *data, struct pt_regs *regs) +smc911x_rx_dma_irq(int dma, void *data)  {  	struct net_device *dev = (struct net_device *)data;  	unsigned long ioaddr = dev->base_addr; diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c index 5506a0d3efe..c0d13d65091 100644 --- a/drivers/net/smc9194.c +++ b/drivers/net/smc9194.c @@ -270,7 +270,7 @@ static void smc_set_multicast_list(struct net_device *dev);  /*   . Handles the actual interrupt  */ -static irqreturn_t smc_interrupt(int irq, void *, struct pt_regs *regs); +static irqreturn_t smc_interrupt(int irq, void *);  /*   . This is a separate procedure to handle the receipt of a packet, to   . leave the interrupt code looking slightly cleaner @@ -1391,7 +1391,7 @@ static void smc_tx( struct net_device * dev )   .   ---------------------------------------------------------------------*/ -static irqreturn_t smc_interrupt(int irq, void * dev_id,  struct pt_regs * regs) +static irqreturn_t smc_interrupt(int irq, 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 d7e56438b5d..506807fa526 100644 --- a/drivers/net/smc91x.c +++ b/drivers/net/smc91x.c @@ -1284,7 +1284,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, struct pt_regs *regs) +static irqreturn_t smc_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct smc_local *lp = netdev_priv(dev); diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h index fedd1a37bc3..636dbfcdf8c 100644 --- a/drivers/net/smc91x.h +++ b/drivers/net/smc91x.h @@ -507,7 +507,7 @@ smc_pxa_dma_insw(void __iomem *ioaddr, u_long physaddr, int reg, int dma,  #endif  static void -smc_pxa_dma_irq(int dma, void *dummy, struct pt_regs *regs) +smc_pxa_dma_irq(int dma, void *dummy)  {  	DCSR(dma) = 0;  } diff --git a/drivers/net/sonic.c b/drivers/net/sonic.c index 870cf6b0738..cfece9676af 100644 --- a/drivers/net/sonic.c +++ b/drivers/net/sonic.c @@ -293,7 +293,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, struct pt_regs *regs) +static irqreturn_t sonic_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct sonic_local *lp = netdev_priv(dev); diff --git a/drivers/net/sonic.h b/drivers/net/sonic.h index 7f886e8ae28..7db13e4a7ea 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, struct pt_regs *regs); +static irqreturn_t sonic_interrupt(int irq, 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 1397fc55cf6..46a009085f7 100644 --- a/drivers/net/spider_net.c +++ b/drivers/net/spider_net.c @@ -1445,7 +1445,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, struct pt_regs *regs) +spider_net_interrupt(int irq, void *ptr)  {  	struct net_device *netdev = ptr;  	struct spider_net_card *card = netdev_priv(netdev); @@ -1481,7 +1481,7 @@ static void  spider_net_poll_controller(struct net_device *netdev)  {  	disable_irq(netdev->irq); -	spider_net_interrupt(netdev->irq, netdev, NULL); +	spider_net_interrupt(netdev->irq, netdev);  	enable_irq(netdev->irq);  }  #endif /* CONFIG_NET_POLL_CONTROLLER */ diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c index 3d617e8f54b..7a0aee6c869 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, struct pt_regs *regs); +static irqreturn_t intr_handler(int irq, 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); @@ -1307,7 +1307,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, struct pt_regs *rgs) +static irqreturn_t intr_handler(int irq, 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 0605461bc56..d1d1885b029 100644 --- a/drivers/net/sun3_82586.c +++ b/drivers/net/sun3_82586.c @@ -122,7 +122,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,struct pt_regs *reg_ptr); +static irqreturn_t sun3_82586_interrupt(int irq,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 *); @@ -678,7 +678,7 @@ static void *alloc_rfa(struct net_device *dev,void *ptr)   * Interrupt Handler ...   */ -static irqreturn_t sun3_82586_interrupt(int irq,void *dev_id,struct pt_regs *reg_ptr) +static irqreturn_t sun3_82586_interrupt(int irq,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 61a832ce7cc..91c76544e4d 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, struct pt_regs *fp ); +static irqreturn_t lance_interrupt( int irq, void *dev_id);  static int lance_rx( struct net_device *dev );  static int lance_close( struct net_device *dev );  static struct net_device_stats *lance_get_stats( struct net_device *dev ); @@ -642,7 +642,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, struct pt_regs *fp) +static irqreturn_t lance_interrupt( int irq, 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 9e4be86495a..6439b0cef1e 100644 --- a/drivers/net/sunbmac.c +++ b/drivers/net/sunbmac.c @@ -888,7 +888,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, struct pt_regs *regs) +static irqreturn_t bigmac_interrupt(int irq, 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 6b8f4baf87f..41c503d8bac 100644 --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c @@ -420,7 +420,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, struct pt_regs *regs); +static irqreturn_t intr_handler(int irq, 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); @@ -1102,7 +1102,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, struct pt_regs *rgs) +static irqreturn_t intr_handler(int irq, 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 0975695ae31..253e96e7ad2 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c @@ -932,7 +932,7 @@ static int gem_poll(struct net_device *dev, int *budget)  	return 0;  } -static irqreturn_t gem_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t gem_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct gem *gp = dev->priv; @@ -975,7 +975,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, NULL); +	gem_interrupt(dev->irq, dev);  }  #endif diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index f05eea53623..45d07faf7b9 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c @@ -2093,7 +2093,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, struct pt_regs *regs) +static irqreturn_t happy_meal_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *) dev_id;  	struct happy_meal *hp  = dev->priv; @@ -2132,7 +2132,7 @@ out:  }  #ifdef CONFIG_SBUS -static irqreturn_t quattro_sbus_interrupt(int irq, void *cookie, struct pt_regs *ptregs) +static irqreturn_t quattro_sbus_interrupt(int irq, void *cookie)  {  	struct quattro *qp = (struct quattro *) cookie;  	int i; diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c index feb42db10ee..9207e19cac3 100644 --- a/drivers/net/sunlance.c +++ b/drivers/net/sunlance.c @@ -820,7 +820,7 @@ out:  	spin_unlock(&lp->lock);  } -static irqreturn_t lance_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t lance_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct lance_private *lp = netdev_priv(dev); diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c index 9202a1c369d..020e7817059 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, struct pt_regs *regs) +static irqreturn_t qec_interrupt(int irq, void *dev_id)  {  	struct sunqec *qecp = (struct sunqec *) dev_id;  	u32 qec_status; diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c index 60f02650948..81ed82f0b52 100644 --- a/drivers/net/tc35815.c +++ b/drivers/net/tc35815.c @@ -453,7 +453,7 @@ static int __devinit tc35815_probe1(struct pci_dev *pdev, unsigned int base_addr  static int	tc35815_open(struct net_device *dev);  static int	tc35815_send_packet(struct sk_buff *skb, struct net_device *dev);  static void     tc35815_tx_timeout(struct net_device *dev); -static irqreturn_t tc35815_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t tc35815_interrupt(int irq, void *dev_id);  static void	tc35815_rx(struct net_device *dev);  static void	tc35815_txdone(struct net_device *dev);  static int	tc35815_close(struct net_device *dev); @@ -1044,7 +1044,7 @@ static void tc35815_fatal_error_interrupt(struct net_device *dev, int status)   * The typical workload of the driver:   *   Handle the network interface interrupts.   */ -static irqreturn_t tc35815_interrupt(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t tc35815_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct tc35815_regs *tr; diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index c25ba273b74..327836b1014 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -3481,7 +3481,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, struct pt_regs *regs) +static irqreturn_t tg3_msi_1shot(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct tg3 *tp = netdev_priv(dev); @@ -3499,7 +3499,7 @@ static irqreturn_t tg3_msi_1shot(int irq, void *dev_id, struct pt_regs *regs)   * 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, struct pt_regs *regs) +static irqreturn_t tg3_msi(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct tg3 *tp = netdev_priv(dev); @@ -3520,7 +3520,7 @@ static irqreturn_t tg3_msi(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_RETVAL(1);  } -static irqreturn_t tg3_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t tg3_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct tg3 *tp = netdev_priv(dev); @@ -3563,7 +3563,7 @@ out:  	return IRQ_RETVAL(handled);  } -static irqreturn_t tg3_interrupt_tagged(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t tg3_interrupt_tagged(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct tg3 *tp = netdev_priv(dev); @@ -3606,8 +3606,7 @@ out:  }  /* ISR for interrupt test */ -static irqreturn_t tg3_test_isr(int irq, void *dev_id, -		struct pt_regs *regs) +static irqreturn_t tg3_test_isr(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct tg3 *tp = netdev_priv(dev); @@ -3651,7 +3650,7 @@ static void tg3_poll_controller(struct net_device *dev)  {  	struct tg3 *tp = netdev_priv(dev); -	tg3_interrupt(tp->pdev->irq, dev, NULL); +	tg3_interrupt(tp->pdev->irq, dev);  }  #endif @@ -6838,7 +6837,7 @@ restart_timer:  static int tg3_request_irq(struct tg3 *tp)  { -	irqreturn_t (*fn)(int, void *, struct pt_regs *); +	irq_handler_t fn;  	unsigned long flags;  	struct net_device *dev = tp->dev; diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c index 8d807bf603a..e14f5a00f65 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 *, struct pt_regs *); +static irqreturn_t TLan_HandleInterrupt( int, 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 *); @@ -824,7 +824,7 @@ static void  __init TLan_EisaProbe (void)  static void TLan_Poll(struct net_device *dev)  {  	disable_irq(dev->irq); -	TLan_HandleInterrupt(dev->irq, dev, NULL); +	TLan_HandleInterrupt(dev->irq, dev);  	enable_irq(dev->irq);  }  #endif @@ -1151,7 +1151,6 @@ static int TLan_StartTx( struct sk_buff *skb, struct net_device *dev )  	 *			occurred.  	 *		dev_id	A pointer to the device assigned to  	 *			this irq line. -	 *		regs	???  	 *  	 *	This function handles an interrupt generated by its  	 *	assigned TLAN adapter.  The function deactivates @@ -1162,7 +1161,7 @@ static int TLan_StartTx( struct sk_buff *skb, struct net_device *dev )  	 *  	 **************************************************************/ -static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id)  {  	u32		ack;  	struct net_device	*dev; diff --git a/drivers/net/tokenring/3c359.c b/drivers/net/tokenring/3c359.c index 412390ba142..7580bdeacad 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, struct pt_regs *regs); +static irqreturn_t xl_interrupt(int irq, 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); @@ -1042,7 +1042,7 @@ static void xl_freemem(struct net_device *dev)  	return  ;   } -static irqreturn_t xl_interrupt(int irq, void *dev_id, struct pt_regs *regs)  +static irqreturn_t xl_interrupt(int irq, void *dev_id)   {  	struct net_device *dev = (struct net_device *)dev_id;   	struct xl_private *xl_priv =(struct xl_private *)dev->priv; diff --git a/drivers/net/tokenring/ibmtr.c b/drivers/net/tokenring/ibmtr.c index 4470025ff7f..bfe59865b1d 100644 --- a/drivers/net/tokenring/ibmtr.c +++ b/drivers/net/tokenring/ibmtr.c @@ -197,7 +197,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, struct pt_regs *regs); +static irqreturn_t tok_interrupt(int irq, 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); @@ -1166,7 +1166,7 @@ static void dir_open_adapter (struct net_device *dev)  /******************************************************************************/ -static irqreturn_t tok_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t tok_interrupt(int irq, void *dev_id)  {  	unsigned char status;  	/*  unsigned char status_even ; */ @@ -1178,7 +1178,7 @@ static irqreturn_t tok_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	dev = dev_id;  #if TR_VERBOSE -	DPRINTK("Int from tok_driver, dev : %p irq%d regs=%p\n", dev,irq,regs); +	DPRINTK("Int from tok_driver, dev : %p irq%d\n", dev,irq);  #endif  	ti = (struct tok_info *) dev->priv;  	if (ti->sram_phys & 1) diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c index bfc8c3eae9a..e999feb8c0b 100644 --- a/drivers/net/tokenring/lanstreamer.c +++ b/drivers/net/tokenring/lanstreamer.c @@ -206,8 +206,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, -			       struct pt_regs *regs); +static irqreturn_t streamer_interrupt(int irq, 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); @@ -1028,7 +1027,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, struct pt_regs *regs) +static irqreturn_t streamer_interrupt(int irq, 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 666bbaaae82..ed274d6909d 100644 --- a/drivers/net/tokenring/madgemc.c +++ b/drivers/net/tokenring/madgemc.c @@ -70,7 +70,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, struct pt_regs *regs); +static irqreturn_t madgemc_interrupt(int irq, void *dev_id);  /*   * These work around paging, however they don't guarentee you're on the @@ -417,7 +417,7 @@ getout:   * exhausted all contiguous interrupts.   *   */ -static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t madgemc_interrupt(int irq, void *dev_id)  {  	int pending,reg1;  	struct net_device *dev; @@ -451,7 +451,7 @@ static irqreturn_t madgemc_interrupt(int irq, void *dev_id, struct pt_regs *regs  			outb(reg1, dev->base_addr + MC_CONTROL_REG1);  			/* Continue handling as normal */ -			tms380tr_interrupt(irq, dev_id, regs); +			tms380tr_interrupt(irq, dev_id);  			pending = SIFREADW(SIFSTS); /* restart - the SIF way */ diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c index 85831484bc4..cd142d0302b 100644 --- a/drivers/net/tokenring/olympic.c +++ b/drivers/net/tokenring/olympic.c @@ -185,7 +185,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, struct pt_regs *regs); +static irqreturn_t olympic_interrupt(int irq, 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); @@ -925,7 +925,7 @@ static void olympic_freemem(struct net_device *dev)  	return ;   } -static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs)  +static irqreturn_t olympic_interrupt(int irq, void *dev_id)   {  	struct net_device *dev= (struct net_device *)dev_id;  	struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c index 85a7f797d34..9bd4cba8787 100644 --- a/drivers/net/tokenring/smctr.c +++ b/drivers/net/tokenring/smctr.c @@ -141,7 +141,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, struct pt_regs *regs); +static irqreturn_t smctr_interrupt(int irq, 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, @@ -1980,7 +1980,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, struct pt_regs *regs) +static irqreturn_t smctr_interrupt(int irq, 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 c1925590a0e..c0ab6e44eb1 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, struct pt_regs *regs) +irqreturn_t tms380tr_interrupt(int irq, 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 30452c67bb6..2a16078ac3f 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, struct pt_regs *regs); +irqreturn_t tms380tr_interrupt(int irq, 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 e1b48bd8664..2cfd9634895 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c @@ -484,7 +484,7 @@ rx_next:  	de->rx_tail = rx_tail;  } -static irqreturn_t de_interrupt (int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t de_interrupt (int irq, 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 fb5fa7d6888..e17f9779ead 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, struct pt_regs *regs); +static irqreturn_t de4x5_interrupt(int irq, 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); @@ -1538,7 +1538,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, struct pt_regs *regs) +de4x5_interrupt(int irq, void *dev_id)  {      struct net_device *dev = (struct net_device *)dev_id;      struct de4x5_private *lp; diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c index ccf2c225f08..4dd8a0bae86 100644 --- a/drivers/net/tulip/dmfe.c +++ b/drivers/net/tulip/dmfe.c @@ -300,7 +300,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 *, struct pt_regs *); +static irqreturn_t dmfe_interrupt(int , void *);  #ifdef CONFIG_NET_POLL_CONTROLLER  static void poll_dmfe (struct net_device *dev);  #endif @@ -735,7 +735,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, struct pt_regs *regs) +static irqreturn_t dmfe_interrupt(int irq, void *dev_id)  {  	struct DEVICE *dev = dev_id;  	struct dmfe_board_info *db = netdev_priv(dev); @@ -806,7 +806,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, NULL); +	dmfe_interrupt (dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/tulip/interrupt.c b/drivers/net/tulip/interrupt.c index 7f8f5d42a76..e3488d7b8ed 100644 --- a/drivers/net/tulip/interrupt.c +++ b/drivers/net/tulip/interrupt.c @@ -496,7 +496,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, struct pt_regs *regs) +irqreturn_t tulip_interrupt(int irq, 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 25668ddb1f7..ad107f45c7b 100644 --- a/drivers/net/tulip/tulip.h +++ b/drivers/net/tulip/tulip.h @@ -424,7 +424,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, struct pt_regs *regs); +irqreturn_t tulip_interrupt(int irq, void *dev_instance);  int tulip_refill_rx(struct net_device *dev);  #ifdef CONFIG_TULIP_NAPI  int tulip_poll(struct net_device *dev, int *budget); diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c index 831919a8191..0aee618f883 100644 --- a/drivers/net/tulip/tulip_core.c +++ b/drivers/net/tulip/tulip_core.c @@ -1823,7 +1823,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, NULL); +	tulip_interrupt (dev->irq, dev);  	enable_irq(dev->irq);  }  #endif diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c index 0b176be51eb..229158e8e4b 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 *, struct pt_regs *); +static irqreturn_t uli526x_interrupt(int, 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); @@ -659,7 +659,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, struct pt_regs *regs) +static irqreturn_t uli526x_interrupt(int irq, 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 2fca1ee24f5..002a05e0722 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, struct pt_regs *regs); +static irqreturn_t intr_handler(int irq, 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); @@ -1110,7 +1110,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, struct pt_regs *rgs) +static irqreturn_t intr_handler(int irq, 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 629eac64528..61d313049dd 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, struct pt_regs *regs); +static irqreturn_t xircom_interrupt(int irq, 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); @@ -334,7 +334,7 @@ static void __devexit xircom_remove(struct pci_dev *pdev)  	leave("xircom_remove");  } -static irqreturn_t xircom_interrupt(int irq, void *dev_instance, struct pt_regs *regs) +static irqreturn_t xircom_interrupt(int irq, void *dev_instance)  {  	struct net_device *dev = (struct net_device *) dev_instance;  	struct xircom_private *card = netdev_priv(dev); @@ -513,7 +513,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, NULL); +	xircom_interrupt(dev->irq, 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 312788caa4c..a998c5d0ae9 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, struct pt_regs *regs); +static irqreturn_t xircom_interrupt(int irq, 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); @@ -1044,7 +1044,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, struct pt_regs *regs) +static irqreturn_t xircom_interrupt(int irq, 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 d5c32e9caa9..3bf9e630404 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c @@ -1826,7 +1826,7 @@ typhoon_poll(struct net_device *dev, int *total_budget)  }  static irqreturn_t -typhoon_interrupt(int irq, void *dev_instance, struct pt_regs *rgs) +typhoon_interrupt(int irq, void *dev_instance)  {  	struct net_device *dev = (struct net_device *) dev_instance;  	struct typhoon *tp = dev->priv; diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 700ebd7d145..12cd7b561f3 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c @@ -3844,8 +3844,7 @@ static int ucc_geth_poll(struct net_device *dev, int *budget)  }  #endif				/* CONFIG_UGETH_NAPI */ -static irqreturn_t ucc_geth_irq_handler(int irq, void *info, -					struct pt_regs *regs) +static irqreturn_t ucc_geth_irq_handler(int irq, void *info)  {  	struct net_device *dev = (struct net_device *)info;  	ucc_geth_private_t *ugeth = netdev_priv(dev); @@ -3910,7 +3909,7 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void *info,  	return IRQ_HANDLED;  } -static irqreturn_t phy_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t phy_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	ucc_geth_private_t *ugeth = netdev_priv(dev); diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index cbebf1b96e9..ebbda1d8f54 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c @@ -404,7 +404,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, struct pt_regs *regs); +static irqreturn_t rhine_interrupt(int irq, 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); @@ -569,7 +569,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, NULL); +	rhine_interrupt(dev->irq, (void *)dev);  	enable_irq(dev->irq);  }  #endif @@ -1290,7 +1290,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, struct pt_regs *rgs) +static irqreturn_t rhine_interrupt(int irq, 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 7d8808ce541..74f894795a1 100644 --- a/drivers/net/via-velocity.c +++ b/drivers/net/via-velocity.c @@ -236,7 +236,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, struct pt_regs *regs); +static int velocity_intr(int irq, 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); @@ -2036,7 +2036,6 @@ static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)   *	velocity_intr		-	interrupt callback   *	@irq: interrupt number   *	@dev_instance: interrupting device - *	@pt_regs: CPU register state at interrupt   *   *	Called whenever an interrupt is generated by the velocity   *	adapter IRQ line. We may not be the source of the interrupt @@ -2044,7 +2043,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, struct pt_regs *regs) +static int velocity_intr(int irq, 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 1f95b4864ea..e1bf8b93f95 100644 --- a/drivers/net/wan/cosa.c +++ b/drivers/net/wan/cosa.c @@ -345,7 +345,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, struct pt_regs *regs); +static irqreturn_t cosa_interrupt(int irq, void *cosa);  /* I/O ops debugging */  #ifdef DEBUG_IO @@ -1972,7 +1972,7 @@ out:  	spin_unlock_irqrestore(&cosa->lock, flags);  } -static irqreturn_t cosa_interrupt(int irq, void *cosa_, struct pt_regs *regs) +static irqreturn_t cosa_interrupt(int irq, void *cosa_)  {  	unsigned status;  	int count = 0; diff --git a/drivers/net/wan/cycx_main.c b/drivers/net/wan/cycx_main.c index a5e7ce1bd16..12363e056b6 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, struct pt_regs *regs); +static irqreturn_t cycx_isr(int irq, void *dev_id);  /* Global Data   * Note: All data must be explicitly initialized!!! @@ -301,7 +301,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, struct pt_regs *regs) +static irqreturn_t cycx_isr(int irq, void *dev_id)  {  	struct cycx_device *card = (struct cycx_device *)dev_id; diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c index af4d4155905..25021a7992a 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, struct pt_regs *ptregs); +static irqreturn_t dscc4_irq(int 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 @@ -1476,7 +1476,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, struct pt_regs *ptregs) +static irqreturn_t dscc4_irq(int 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 564351aafa4..c45d6a83339 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, struct pt_regs *regs) +fst_intr(int irq, 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 dce2bb317b8..8d0a1f2f00e 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, struct pt_regs *regs) +static irqreturn_t sca_intr(int irq, 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 7b5d81deb02..2b54f1bc3a0 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, struct pt_regs *regs); +static irqreturn_t lmc_interrupt(int irq, 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); @@ -1273,7 +1273,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, struct pt_regs *regs) /*fold00*/ +static irqreturn_t lmc_interrupt (int irq, 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 8d9b959bf15..5823e3bca17 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 *, struct pt_regs *); +static irqreturn_t cpc_intr(int, 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, struct pt_regs *regs) +static irqreturn_t cpc_intr(int irq, 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 fc75bec1902..fc5c0c611ff 100644 --- a/drivers/net/wan/sbni.c +++ b/drivers/net/wan/sbni.c @@ -119,7 +119,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 *, struct pt_regs * ); +static irqreturn_t sbni_interrupt( int, void * );  static void  handle_channel( struct net_device * );  static int   recv_frame( struct net_device * );  static void  send_frame( struct net_device * ); @@ -501,7 +501,7 @@ sbni_start_xmit( struct sk_buff  *skb,  struct net_device  *dev )   */   static irqreturn_t -sbni_interrupt( int  irq,  void  *dev_id,  struct pt_regs  *regs ) +sbni_interrupt( int  irq,  void  *dev_id )  {  	struct net_device	  *dev = (struct net_device *) dev_id;  	struct net_local  *nl  = (struct net_local *) dev->priv; diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c index 0ba018f8382..5715d25271f 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, struct pt_regs * regs) +static irqreturn_t sdla_isr(int irq, void *dev_id)  {  	struct net_device     *dev;  	struct frad_local *flp; diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c index ec68f7dfd93..c7360157433 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, struct pt_regs *regs) +static irqreturn_t wanxl_intr(int irq, 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 caa48f12fd0..59ddd21c395 100644 --- a/drivers/net/wan/z85230.c +++ b/drivers/net/wan/z85230.c @@ -728,7 +728,7 @@ EXPORT_SYMBOL(z8530_nop);   *	channel). c->lock for both channels points to dev->lock   */ -irqreturn_t z8530_interrupt(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t z8530_interrupt(int irq, 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 77e53208045..158aea7b8ea 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 *, struct pt_regs *); +extern irqreturn_t z8530_interrupt(int, 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/airo.c b/drivers/net/wireless/airo.c index 39d09345027..0a33c8a56e1 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c @@ -1120,8 +1120,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, struct pt_regs -			    *regs); +static irqreturn_t airo_interrupt( int irq, 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); @@ -3151,7 +3150,7 @@ static int airo_thread(void *data) {  	return 0;  } -static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) { +static irqreturn_t airo_interrupt ( int irq, 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 bb6bea4f323..4688e56b69c 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, struct pt_regs *regs); +static  irqreturn_t arlan_interrupt(int irq, 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, struct pt_regs *regs) +static irqreturn_t arlan_interrupt(int irq, 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 0fc267d626d..31eed85de60 100644 --- a/drivers/net/wireless/atmel.c +++ b/drivers/net/wireless/atmel.c @@ -1145,7 +1145,7 @@ next:  	}  } -static irqreturn_t service_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t service_interrupt(int irq, 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/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index eb65db7393b..bad3452ea89 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c @@ -1834,7 +1834,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, struct pt_regs *regs) +static irqreturn_t bcm43xx_interrupt_handler(int irq, void *dev_id)  {  	irqreturn_t ret = IRQ_HANDLED;  	struct bcm43xx_private *bcm = dev_id; @@ -3963,7 +3963,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, NULL); +		bcm43xx_interrupt_handler(bcm->irq, 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 d500012fdc7..ed00ebb6e7f 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, struct pt_regs *regs) +static irqreturn_t prism2_interrupt(int irq, 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 599e2fe7618..4e4eaa2a99c 100644 --- a/drivers/net/wireless/ipw2100.c +++ b/drivers/net/wireless/ipw2100.c @@ -3255,7 +3255,7 @@ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv)  	IPW_DEBUG_ISR("exit\n");  } -static irqreturn_t ipw2100_interrupt(int irq, void *data, struct pt_regs *regs) +static irqreturn_t ipw2100_interrupt(int irq, 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 5685d7ba55b..1f742814a01 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c @@ -10467,7 +10467,7 @@ static const struct ethtool_ops ipw_ethtool_ops = {  	.set_eeprom = ipw_ethtool_set_eeprom,  }; -static irqreturn_t ipw_isr(int irq, void *data, struct pt_regs *regs) +static irqreturn_t ipw_isr(int irq, void *data)  {  	struct ipw_priv *priv = data;  	u32 inta, inta_mask; diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c index 36b5e004305..6714e0dfa8d 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, struct pt_regs *regs); +static irqreturn_t netwave_interrupt(int irq, void *dev_id);  static void netwave_watchdog(struct net_device *);  /* Statistics */ @@ -1072,7 +1072,7 @@ static int netwave_start_xmit(struct sk_buff *skb, struct net_device *dev) {  } /* netwave_start_xmit */  /* - * Function netwave_interrupt (irq, dev_id, regs) + * Function netwave_interrupt (irq, dev_id)   *   *    This function is the interrupt handler for the Netwave card. This   *    routine will be called whenever:  @@ -1081,7 +1081,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, struct pt_regs *regs) +static irqreturn_t netwave_interrupt(int irq, 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 9e19a963feb..793da5f6934 100644 --- a/drivers/net/wireless/orinoco.c +++ b/drivers/net/wireless/orinoco.c @@ -1952,7 +1952,7 @@ static void __orinoco_ev_wterr(struct net_device *dev, hermes_t *hw)  	       dev->name);  } -irqreturn_t orinoco_interrupt(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t orinoco_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct orinoco_private *priv = netdev_priv(dev); diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h index fb5700d6c45..4720fb20d66 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, struct pt_regs *regs); +extern irqreturn_t orinoco_interrupt(int irq, void * dev_id);  /********************************************************************/  /* Locking and synchronization functions                            */ diff --git a/drivers/net/wireless/prism54/islpci_dev.c b/drivers/net/wireless/prism54/islpci_dev.c index ab3c5a27efd..ec1c00f19eb 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, struct pt_regs *regs) +islpci_interrupt(int irq, 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 5049f37455b..2f7e525d0cf 100644 --- a/drivers/net/wireless/prism54/islpci_dev.h +++ b/drivers/net/wireless/prism54/islpci_dev.h @@ -198,7 +198,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 *, struct pt_regs *); +irqreturn_t islpci_interrupt(int, 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 e82548ea609..0b381d77015 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, struct pt_regs *regs); +static irqreturn_t ray_interrupt (int reg, 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); @@ -1940,7 +1940,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, struct pt_regs * regs) +static irqreturn_t ray_interrupt(int irq, void *dev_id)  {      struct net_device *dev = (struct net_device *)dev_id;      struct pcmcia_device *link; diff --git a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c index 5b69befdab7..24221e476cd 100644 --- a/drivers/net/wireless/wavelan.c +++ b/drivers/net/wireless/wavelan.c @@ -3768,7 +3768,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, struct pt_regs *regs) +static irqreturn_t wavelan_interrupt(int irq, 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 5cb0bc8bb12..72b646c77d5 100644 --- a/drivers/net/wireless/wavelan.p.h +++ b/drivers/net/wireless/wavelan.p.h @@ -642,8 +642,7 @@ static int  /* ---------------------- INTERRUPT HANDLING ---------------------- */  static irqreturn_t  	wavelan_interrupt(int,		/* interrupt handler */ -			  void *, -			  struct pt_regs *); +			  void *);  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 0065f057bb1..cadfe132db8 100644 --- a/drivers/net/wireless/wavelan_cs.c +++ b/drivers/net/wireless/wavelan_cs.c @@ -4117,8 +4117,7 @@ wv_pcmcia_release(struct pcmcia_device *link)   */  static irqreturn_t  wavelan_interrupt(int		irq, -		  void *	dev_id, -		  struct pt_regs * regs) +		  void *	dev_id)  {    struct net_device *	dev;    net_local *	lp; diff --git a/drivers/net/wireless/wavelan_cs.p.h b/drivers/net/wireless/wavelan_cs.p.h index f34a36b0c7b..4d1c4905c74 100644 --- a/drivers/net/wireless/wavelan_cs.p.h +++ b/drivers/net/wireless/wavelan_cs.p.h @@ -738,8 +738,7 @@ static void  /* ---------------------- INTERRUPT HANDLING ---------------------- */  static irqreturn_t  	wavelan_interrupt(int,	/* Interrupt handler */ -			  void *, -			  struct pt_regs *); +			  void *);  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 e3ae5f60d5b..a1430352169 100644 --- a/drivers/net/wireless/wl3501_cs.c +++ b/drivers/net/wireless/wl3501_cs.c @@ -1145,7 +1145,6 @@ static inline void wl3501_ack_interrupt(struct wl3501_card *this)   * wl3501_interrupt - Hardware interrupt from card.   * @irq - Interrupt number   * @dev_id - net_device - * @regs - registers   *   * We must acknowledge the interrupt as soon as possible, and block the   * interrupt from the same card immediately to prevent re-entry. @@ -1154,7 +1153,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, struct pt_regs *regs) +static irqreturn_t wl3501_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = (struct net_device *)dev_id;  	struct wl3501_card *this; diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c index 80af9a9fcbb..30057a335a7 100644 --- a/drivers/net/wireless/zd1201.c +++ b/drivers/net/wireless/zd1201.c @@ -112,7 +112,7 @@ exit:  	return err;  } -static void zd1201_usbfree(struct urb *urb, struct pt_regs *regs) +static void zd1201_usbfree(struct urb *urb)  {  	struct zd1201 *zd = urb->context; @@ -177,7 +177,7 @@ static int zd1201_docmd(struct zd1201 *zd, int cmd, int parm0,  }  /* Callback after sending out a packet */ -static void zd1201_usbtx(struct urb *urb, struct pt_regs *regs) +static void zd1201_usbtx(struct urb *urb)  {  	struct zd1201 *zd = urb->context;  	netif_wake_queue(zd->dev); @@ -185,7 +185,7 @@ static void zd1201_usbtx(struct urb *urb, struct pt_regs *regs)  }  /* Incoming data */ -static void zd1201_usbrx(struct urb *urb, struct pt_regs *regs) +static void zd1201_usbrx(struct urb *urb)  {  	struct zd1201 *zd = urb->context;  	int free = 0; diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c index 5c265ad0485..3faaeb2b7c8 100644 --- a/drivers/net/wireless/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zd1211rw/zd_usb.c @@ -408,7 +408,7 @@ static inline void handle_retry_failed_int(struct urb *urb)  } -static void int_urb_complete(struct urb *urb, struct pt_regs *pt_regs) +static void int_urb_complete(struct urb *urb)  {  	int r;  	struct usb_int_header *hdr; @@ -609,7 +609,7 @@ static void handle_rx_packet(struct zd_usb *usb, const u8 *buffer,  	}  } -static void rx_urb_complete(struct urb *urb, struct pt_regs *pt_regs) +static void rx_urb_complete(struct urb *urb)  {  	struct zd_usb *usb;  	struct zd_usb_rx *rx; @@ -779,7 +779,7 @@ void zd_usb_disable_rx(struct zd_usb *usb)  	spin_unlock_irqrestore(&rx->lock, flags);  } -static void tx_urb_complete(struct urb *urb, struct pt_regs *pt_regs) +static void tx_urb_complete(struct urb *urb)  {  	int r; diff --git a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c index a4c4953f136..ac600212d9a 100644 --- a/drivers/net/yellowfin.c +++ b/drivers/net/yellowfin.c @@ -350,7 +350,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, struct pt_regs *regs); +static irqreturn_t yellowfin_interrupt(int irq, 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); @@ -888,7 +888,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, struct pt_regs *regs) +static irqreturn_t yellowfin_interrupt(int irq, 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 656d5a02908..2068a109a86 100644 --- a/drivers/net/znet.c +++ b/drivers/net/znet.c @@ -158,7 +158,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, struct pt_regs *regs); +static irqreturn_t znet_interrupt(int irq, void *dev_id);  static void	znet_rx(struct net_device *dev);  static int	znet_close(struct net_device *dev);  static struct net_device_stats *net_get_stats(struct net_device *dev); @@ -602,7 +602,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, struct pt_regs * regs) +static irqreturn_t znet_interrupt(int irq, void *dev_id)  {  	struct net_device *dev = dev_id;  	struct znet_private *znet = dev->priv; diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c index 0d96c50ffe9..a0a8fd8d212 100644 --- a/drivers/parisc/dino.c +++ b/drivers/parisc/dino.c @@ -368,8 +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, struct pt_regs *regs) +static irqreturn_t dino_isr(int irq, 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 884965cedec..094562e044f 100644 --- a/drivers/parisc/eisa.c +++ b/drivers/parisc/eisa.c @@ -199,7 +199,7 @@ static struct hw_interrupt_type eisa_interrupt_type = {  	.end =		no_end_irq,  }; -static irqreturn_t eisa_irq(int wax_irq, void *intr_dev, struct pt_regs *regs) +static irqreturn_t eisa_irq(int wax_irq, void *intr_dev)  {  	int irq = gsc_readb(0xfc01f000); /* EISA supports 16 irqs */  	unsigned long flags; @@ -249,7 +249,7 @@ static irqreturn_t eisa_irq(int wax_irq, void *intr_dev, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t dummy_irq2_handler(int _, void *dev, struct pt_regs *regs) +static irqreturn_t dummy_irq2_handler(int _, void *dev)  {  	printk(KERN_ALERT "eisa: uhh, irq2?\n");  	return IRQ_HANDLED; diff --git a/drivers/parisc/gsc.c b/drivers/parisc/gsc.c index b45aa5c675a..1b3e3fd12d9 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, struct pt_regs *regs) +irqreturn_t gsc_asic_intr(int gsc_asic_irq, void *dev)  {  	unsigned long irr;  	struct gsc_asic *gsc_asic = dev; @@ -87,7 +87,7 @@ irqreturn_t gsc_asic_intr(int gsc_asic_irq, void *dev, struct pt_regs *regs)  	do {  		int local_irq = __ffs(irr);  		unsigned int irq = gsc_asic->global_irq[local_irq]; -		__do_IRQ(irq, regs); +		__do_IRQ(irq);  		irr &= ~(1 << local_irq);  	} while (irr); diff --git a/drivers/parisc/gsc.h b/drivers/parisc/gsc.h index a3dc456709d..762a1babad6 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, struct pt_regs *regs); +irqreturn_t gsc_asic_intr(int irq, void *dev); diff --git a/drivers/parisc/power.c b/drivers/parisc/power.c index 2eb3577a88c..97e9dc066f9 100644 --- a/drivers/parisc/power.c +++ b/drivers/parisc/power.c @@ -188,7 +188,7 @@ static void polling_tasklet_func(unsigned long soft_power_reg)   * powerfail interruption handler (irq IRQ_FROM_REGION(CPU_IRQ_REGION)+2)    */  #if 0 -static void powerfail_interrupt(int code, void *x, struct pt_regs *regs) +static void powerfail_interrupt(int code, void *x)  {  	printk(KERN_CRIT "POWERFAIL INTERRUPTION !\n");  	poweroff(); diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c index 4ee26a6d9e2..1fd97f7c8b9 100644 --- a/drivers/parisc/superio.c +++ b/drivers/parisc/superio.c @@ -94,7 +94,7 @@ static struct superio_device sio_dev;  #define PFX	SUPERIO ": "  static irqreturn_t -superio_interrupt(int parent_irq, void *devp, struct pt_regs *regs) +superio_interrupt(int parent_irq, void *devp)  {  	u8 results;  	u8 local_irq; @@ -138,7 +138,7 @@ superio_interrupt(int parent_irq, void *devp, struct pt_regs *regs)  	}  	/* Call the appropriate device's interrupt */ -	__do_IRQ(local_irq, regs); +	__do_IRQ(local_irq);  	/* set EOI - forces a new interrupt if a lower priority device  	 * still needs service. diff --git a/drivers/parport/daisy.c b/drivers/parport/daisy.c index 83ee095ec6e..ff9f3445353 100644 --- a/drivers/parport/daisy.c +++ b/drivers/parport/daisy.c @@ -216,7 +216,7 @@ void parport_daisy_fini(struct parport *port)  struct pardevice *parport_open(int devnum, const char *name,  				int (*pf) (void *), void (*kf) (void *), -				void (*irqf) (int, void *, struct pt_regs *), +				void (*irqf) (int, void *),  				int flags, void *handle)  {  	struct daisydev *p = topology; diff --git a/drivers/parport/ieee1284.c b/drivers/parport/ieee1284.c index 7ff09f0f858..5accaa7bde3 100644 --- a/drivers/parport/ieee1284.c +++ b/drivers/parport/ieee1284.c @@ -571,7 +571,7 @@ static int parport_ieee1284_ack_data_avail (struct parport *port)  #endif /* IEEE1284 support */  /* Handle an interrupt. */ -void parport_ieee1284_interrupt (int which, void *handle, struct pt_regs *regs) +void parport_ieee1284_interrupt (int which, void *handle)  {  	struct parport *port = handle;  	parport_ieee1284_wakeup (port); diff --git a/drivers/parport/parport_amiga.c b/drivers/parport/parport_amiga.c index 5126e74ac2e..a0afaee5ebe 100644 --- a/drivers/parport/parport_amiga.c +++ b/drivers/parport/parport_amiga.c @@ -138,9 +138,9 @@ static unsigned char amiga_read_status(struct parport *p)  }  /* as this ports irq handling is already done, we use a generic funktion */ -static irqreturn_t amiga_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t amiga_interrupt(int irq, void *dev_id)  { -	parport_generic_irq(irq, (struct parport *) dev_id, regs); +	parport_generic_irq(irq, (struct parport *) dev_id);  	return IRQ_HANDLED;  } diff --git a/drivers/parport/parport_atari.c b/drivers/parport/parport_atari.c index 78c3f34108b..6ea9929b8c7 100644 --- a/drivers/parport/parport_atari.c +++ b/drivers/parport/parport_atari.c @@ -104,9 +104,9 @@ parport_atari_restore_state(struct parport *p, struct parport_state *s)  }  static irqreturn_t -parport_atari_interrupt(int irq, void *dev_id, struct pt_regs *regs) +parport_atari_interrupt(int irq, void *dev_id)  { -	parport_generic_irq(irq, (struct parport *) dev_id, regs); +	parport_generic_irq(irq, (struct parport *) dev_id);  	return IRQ_HANDLED;  } diff --git a/drivers/parport/parport_ax88796.c b/drivers/parport/parport_ax88796.c index 1850632590f..74f4e9742c6 100644 --- a/drivers/parport/parport_ax88796.c +++ b/drivers/parport/parport_ax88796.c @@ -233,9 +233,9 @@ parport_ax88796_restore_state(struct parport *p, struct parport_state *s)  }  static irqreturn_t -parport_ax88796_interrupt(int irq, void *dev_id, struct pt_regs *regs) +parport_ax88796_interrupt(int irq, void *dev_id)  { -        parport_generic_irq(irq, dev_id, regs); +        parport_generic_irq(irq, dev_id);          return IRQ_HANDLED;  } diff --git a/drivers/parport/parport_gsc.c b/drivers/parport/parport_gsc.c index 7352104f7b3..a7c5ead9a3d 100644 --- a/drivers/parport/parport_gsc.c +++ b/drivers/parport/parport_gsc.c @@ -81,9 +81,9 @@ static int clear_epp_timeout(struct parport *pb)   * of these are in parport_gsc.h.   */ -static irqreturn_t parport_gsc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t parport_gsc_interrupt(int irq, void *dev_id)  { -	parport_generic_irq(irq, (struct parport *) dev_id, regs); +	parport_generic_irq(irq, (struct parport *) dev_id);  	return IRQ_HANDLED;  } diff --git a/drivers/parport/parport_ip32.c b/drivers/parport/parport_ip32.c index 46e06e596d7..e3e19277030 100644 --- a/drivers/parport/parport_ip32.c +++ b/drivers/parport/parport_ip32.c @@ -548,10 +548,8 @@ static void parport_ip32_dma_setup_context(unsigned int limit)   * parport_ip32_dma_interrupt - DMA interrupt handler   * @irq:	interrupt number   * @dev_id:	unused - * @regs:	pointer to &struct pt_regs   */ -static irqreturn_t parport_ip32_dma_interrupt(int irq, void *dev_id, -					      struct pt_regs *regs) +static irqreturn_t parport_ip32_dma_interrupt(int irq, void *dev_id)  {  	if (parport_ip32_dma.left)  		pr_trace(NULL, "(%d): ctx=%d", irq, parport_ip32_dma.ctx); @@ -560,8 +558,7 @@ static irqreturn_t parport_ip32_dma_interrupt(int irq, void *dev_id,  }  #if DEBUG_PARPORT_IP32 -static irqreturn_t parport_ip32_merr_interrupt(int irq, void *dev_id, -					       struct pt_regs *regs) +static irqreturn_t parport_ip32_merr_interrupt(int irq, void *dev_id)  {  	pr_trace1(NULL, "(%d)", irq);  	return IRQ_HANDLED; @@ -772,13 +769,11 @@ static inline void parport_ip32_wakeup(struct parport *p)   * parport_ip32_interrupt - interrupt handler   * @irq:	interrupt number   * @dev_id:	pointer to &struct parport - * @regs:	pointer to &struct pt_regs   *   * Caught interrupts are forwarded to the upper parport layer if IRQ_mode is   * %PARPORT_IP32_IRQ_FWD.   */ -static irqreturn_t parport_ip32_interrupt(int irq, void *dev_id, -					  struct pt_regs *regs) +static irqreturn_t parport_ip32_interrupt(int irq, void *dev_id)  {  	struct parport * const p = dev_id;  	struct parport_ip32_private * const priv = p->physport->private_data; diff --git a/drivers/parport/parport_mfc3.c b/drivers/parport/parport_mfc3.c index b2b8092a2b3..6541cde4df0 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, struct pt_regs *regs) +static irqreturn_t mfc3_interrupt(int irq, void *dev_id)  {  	int i; diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index fe800dc0be9..39c96641bc7 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c @@ -270,9 +270,9 @@ static int clear_epp_timeout(struct parport *pb)   * of these are in parport_pc.h.   */ -static irqreturn_t parport_pc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t parport_pc_interrupt(int irq, void *dev_id)  { -	parport_generic_irq(irq, (struct parport *) dev_id, regs); +	parport_generic_irq(irq, (struct parport *) dev_id);  	/* FIXME! Was it really ours? */  	return IRQ_HANDLED;  } diff --git a/drivers/parport/parport_sunbpp.c b/drivers/parport/parport_sunbpp.c index fac333b279b..d758c90c86a 100644 --- a/drivers/parport/parport_sunbpp.c +++ b/drivers/parport/parport_sunbpp.c @@ -46,7 +46,7 @@  #define dprintk(x)  #endif -static irqreturn_t parport_sunbpp_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t parport_sunbpp_interrupt(int irq, void *dev_id)  {  	parport_generic_irq(irq, (struct parport *) dev_id, regs);  	return IRQ_HANDLED; diff --git a/drivers/parport/share.c b/drivers/parport/share.c index 94dc506b83d..fd9129e424f 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c @@ -519,7 +519,7 @@ void parport_remove_port(struct parport *port)  struct pardevice *  parport_register_device(struct parport *port, const char *name,  			int (*pf)(void *), void (*kf)(void *), -			void (*irq_func)(int, void *, struct pt_regs *),  +			void (*irq_func)(int, void *),   			int flags, void *handle)  {  	struct pardevice *tmp; diff --git a/drivers/pci/hotplug/cpci_hotplug_core.c b/drivers/pci/hotplug/cpci_hotplug_core.c index d5df5871cfa..d06ab404513 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, struct pt_regs *regs) +cpci_hp_intr(int irq, void *data)  {  	dbg("entered cpci_hp_intr"); diff --git a/drivers/pci/hotplug/cpqphp.h b/drivers/pci/hotplug/cpqphp.h index c74e9e37e76..ea040c32f47 100644 --- a/drivers/pci/hotplug/cpqphp.h +++ b/drivers/pci/hotplug/cpqphp.h @@ -409,7 +409,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, struct pt_regs *regs); +extern irqreturn_t cpqhp_ctrl_intr		(int IRQ, 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 ae2dd36efef..3ec2ad7db49 100644 --- a/drivers/pci/hotplug/cpqphp_ctrl.c +++ b/drivers/pci/hotplug/cpqphp_ctrl.c @@ -889,7 +889,7 @@ int cpqhp_resource_sort_and_combine(struct pci_resource **head)  } -irqreturn_t cpqhp_ctrl_intr(int IRQ, void *data, struct pt_regs *regs) +irqreturn_t cpqhp_ctrl_intr(int IRQ, 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 6ab3b6cd2b5..703a64a39fe 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -222,7 +222,7 @@ static struct php_ctlr_state_s *php_ctlr_list_head; /* HPC state linked list */  static int ctlr_seq_num = 0;	/* Controller sequence # */  static spinlock_t list_lock; -static irqreturn_t pcie_isr(int IRQ, void *dev_id, struct pt_regs *regs); +static irqreturn_t pcie_isr(int IRQ, void *dev_id);  static void start_int_poll_timer(struct php_ctlr_state_s *php_ctlr, int seconds); @@ -239,7 +239,7 @@ static void int_poll_timeout(unsigned long lphp_ctlr)  	}  	/* Poll for interrupt events.  regs == NULL => polling */ -	pcie_isr( 0, (void *)php_ctlr, NULL ); +	pcie_isr( 0, (void *)php_ctlr );  	init_timer(&php_ctlr->int_poll_timer); @@ -863,7 +863,7 @@ static int hpc_power_off_slot(struct slot * slot)  	return retval;  } -static irqreturn_t pcie_isr(int IRQ, void *dev_id, struct pt_regs *regs) +static irqreturn_t pcie_isr(int IRQ, void *dev_id)  {  	struct controller *ctrl = NULL;  	struct php_ctlr_state_s *php_ctlr; diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c index 0f9798df470..4d8aee11913 100644 --- a/drivers/pci/hotplug/shpchp_hpc.c +++ b/drivers/pci/hotplug/shpchp_hpc.c @@ -218,7 +218,7 @@ static spinlock_t list_lock;  static atomic_t shpchp_num_controllers = ATOMIC_INIT(0); -static irqreturn_t shpc_isr(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t shpc_isr(int irq, void *dev_id);  static void start_int_poll_timer(struct php_ctlr_state_s *php_ctlr, int sec);  static int hpc_check_cmd_status(struct controller *ctrl); @@ -276,7 +276,7 @@ static void int_poll_timeout(unsigned long lphp_ctlr)  	DBG_ENTER_ROUTINE  	/* Poll for interrupt events.  regs == NULL => polling */ -	shpc_isr(0, php_ctlr->callback_instance_id, NULL); +	shpc_isr(0, php_ctlr->callback_instance_id);  	init_timer(&php_ctlr->int_poll_timer);  	if (!shpchp_poll_time) @@ -870,7 +870,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, struct pt_regs *regs) +static irqreturn_t shpc_isr(int irq, void *dev_id)  {  	struct controller *ctrl = (struct controller *)dev_id;  	struct php_ctlr_state_s *php_ctlr = ctrl->hpc_ctlr_handle; diff --git a/drivers/pci/pcie/aer/aerdrv.c b/drivers/pci/pcie/aer/aerdrv.c index 0d4ac027d53..04c43ef529a 100644 --- a/drivers/pci/pcie/aer/aerdrv.c +++ b/drivers/pci/pcie/aer/aerdrv.c @@ -85,11 +85,10 @@ static struct pcie_port_service_driver aerdrv = {   * aer_irq - Root Port's ISR   * @irq: IRQ assigned to Root Port   * @context: pointer to Root Port data structure - * @r: pointer struct pt_regs   *   * Invoked when Root Port detects AER messages.   **/ -static irqreturn_t aer_irq(int irq, void *context, struct pt_regs * r) +static irqreturn_t aer_irq(int 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 40569f40e90..991e084db2d 100644 --- a/drivers/pcmcia/at91_cf.c +++ b/drivers/pcmcia/at91_cf.c @@ -64,7 +64,7 @@ static int at91_cf_ss_init(struct pcmcia_socket *s)  	return 0;  } -static irqreturn_t at91_cf_irq(int irq, void *_cf, struct pt_regs *r) +static irqreturn_t at91_cf_irq(int irq, void *_cf)  {  	struct at91_cf_socket	*cf = (struct at91_cf_socket *) _cf; diff --git a/drivers/pcmcia/hd64465_ss.c b/drivers/pcmcia/hd64465_ss.c index ad02629c8be..db3c26b5de1 100644 --- a/drivers/pcmcia/hd64465_ss.c +++ b/drivers/pcmcia/hd64465_ss.c @@ -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, struct pt_regs *regs) +static irqreturn_t hs_interrupt(int irq, void *dev)  {      	hs_socket_t *sp = (hs_socket_t *)dev;  	u_int events = 0; diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 2163aa75a25..82715f44895 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -315,7 +315,7 @@ static int to_cycles(int ns)  /* Interrupt handler functionality */ -static irqreturn_t i82092aa_interrupt(int irq, void *dev, struct pt_regs *regs) +static irqreturn_t i82092aa_interrupt(int irq, void *dev)  {  	int i;  	int loopcount = 0; diff --git a/drivers/pcmcia/i82092aa.h b/drivers/pcmcia/i82092aa.h index 9c14599d067..b0d453303c5 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, struct pt_regs *regs); +static irqreturn_t i82092aa_interrupt(int irq, void *dev); diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c index 1cc2682394b..ea74f98a735 100644 --- a/drivers/pcmcia/i82365.c +++ b/drivers/pcmcia/i82365.c @@ -80,7 +80,7 @@ module_param(pc_debug, int, 0644);  #define debug(lvl, fmt, arg...) do { } while (0)  #endif -static irqreturn_t i365_count_irq(int, void *, struct pt_regs *); +static irqreturn_t i365_count_irq(int, void *);  static inline int _check_irq(int irq, int flags)  {      if (request_irq(irq, i365_count_irq, flags, "x", i365_count_irq) != 0) @@ -498,7 +498,7 @@ 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, struct pt_regs *regs) +static irqreturn_t i365_count_irq(int irq, void *dev)  {      i365_get(irq_sock, I365_CSC);      irq_hits++; @@ -848,8 +848,7 @@ static void __init isa_probe(void)  /*====================================================================*/ -static irqreturn_t pcic_interrupt(int irq, void *dev, -				    struct pt_regs *regs) +static irqreturn_t pcic_interrupt(int irq, void *dev)  {      int i, j, csc;      u_int events, active; @@ -898,7 +897,7 @@ static irqreturn_t pcic_interrupt(int irq, void *dev,  static void pcic_interrupt_wrapper(u_long data)  { -    pcic_interrupt(0, NULL, NULL); +    pcic_interrupt(0, NULL);      poll_timer.expires = jiffies + poll_interval;      add_timer(&poll_timer);  } diff --git a/drivers/pcmcia/m32r_cfc.c b/drivers/pcmcia/m32r_cfc.c index 9e768eaef17..36fdaa58458 100644 --- a/drivers/pcmcia/m32r_cfc.c +++ b/drivers/pcmcia/m32r_cfc.c @@ -254,7 +254,7 @@ static pcc_t pcc[] = {  #endif	/* CONFIG_PLAT_USRV */  }; -static irqreturn_t pcc_interrupt(int, void *, struct pt_regs *); +static irqreturn_t pcc_interrupt(int, void *);  /*====================================================================*/ @@ -372,14 +372,13 @@ static void add_pcc_socket(ulong base, int irq, ulong mapaddr, kio_addr_t ioaddr  /*====================================================================*/ -static irqreturn_t pcc_interrupt(int irq, void *dev, struct pt_regs *regs) +static irqreturn_t pcc_interrupt(int irq, void *dev)  {  	int i;  	u_int events = 0;  	int handled = 0; -	debug(3, "m32r_cfc: pcc_interrupt: irq=%d, dev=%p, regs=%p\n", -		irq, dev, regs); +	debug(3, "m32r_cfc: pcc_interrupt: irq=%d, dev=%p\n", irq, dev);  	for (i = 0; i < pcc_sockets; i++) {  		if (socket[i].cs_irq1 != irq && socket[i].cs_irq2 != irq)  			continue; diff --git a/drivers/pcmcia/m32r_pcc.c b/drivers/pcmcia/m32r_pcc.c index 61d50b5620d..0964fd76bfe 100644 --- a/drivers/pcmcia/m32r_pcc.c +++ b/drivers/pcmcia/m32r_pcc.c @@ -267,7 +267,7 @@ static pcc_t pcc[] = {  	{ "xnux2", 0 }, { "xnux2", 0 },  }; -static irqreturn_t pcc_interrupt(int, void *, struct pt_regs *); +static irqreturn_t pcc_interrupt(int, void *);  /*====================================================================*/ @@ -352,7 +352,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, struct pt_regs *regs) +static irqreturn_t pcc_interrupt(int irq, 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 d0f68ab8f04..e070a289676 100644 --- a/drivers/pcmcia/m8xx_pcmcia.c +++ b/drivers/pcmcia/m8xx_pcmcia.c @@ -266,7 +266,7 @@ static const u32 m8xx_size_to_gray[M8XX_SIZES_NO] =  /* ------------------------------------------------------------------------- */ -static irqreturn_t m8xx_interrupt(int irq, void *dev, struct pt_regs *regs); +static irqreturn_t m8xx_interrupt(int irq, void *dev);  #define PCMCIA_BMT_LIMIT (15*4)  /* Bus Monitor Timeout value */ @@ -646,7 +646,7 @@ static struct platform_device m8xx_device = {  static u32 pending_events[PCMCIA_SOCKETS_NO];  static DEFINE_SPINLOCK(pending_event_lock); -static irqreturn_t m8xx_interrupt(int irq, void *dev, struct pt_regs *regs) +static irqreturn_t m8xx_interrupt(int irq, 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 01be47e7273..c8e838c6976 100644 --- a/drivers/pcmcia/omap_cf.c +++ b/drivers/pcmcia/omap_cf.c @@ -102,7 +102,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, struct pt_regs *r) +static irqreturn_t omap_cf_irq(int 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 c8323399e9e..74cebd42403 100644 --- a/drivers/pcmcia/pcmcia_resource.c +++ b/drivers/pcmcia/pcmcia_resource.c @@ -784,7 +784,7 @@ EXPORT_SYMBOL(pcmcia_request_io);   */  #ifdef CONFIG_PCMCIA_PROBE -static irqreturn_t test_action(int cpl, void *dev_id, struct pt_regs *regs) +static irqreturn_t test_action(int cpl, void *dev_id)  {  	return IRQ_NONE;  } diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c index 22c5e7427dd..c83a0a6b158 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, struct pt_regs *regs) +static irqreturn_t pd6729_interrupt(int irq, 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, NULL); +	pd6729_interrupt(0, (void *)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, struct pt_regs *regs) +static irqreturn_t pd6729_test(int irq, 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 ecaa132fa59..3627e52e0c2 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, struct pt_regs *regs) +static irqreturn_t soc_common_pcmcia_interrupt(int irq, void *dev)  {  	struct soc_pcmcia_socket *skt = dev; diff --git a/drivers/pcmcia/tcic.c b/drivers/pcmcia/tcic.c index 65a60671659..2d2f415f80a 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, struct pt_regs *regs); +static irqreturn_t tcic_interrupt(int irq, 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, struct pt_regs *regs) +static irqreturn_t __init tcic_irq_count(int irq, 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, NULL); +    tcic_interrupt(0, 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, struct pt_regs *regs) +static irqreturn_t tcic_interrupt(int irq, 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, NULL); +    tcic_interrupt(0, NULL);  } /* tcic_timer */  /*====================================================================*/ diff --git a/drivers/pcmcia/vrc4171_card.c b/drivers/pcmcia/vrc4171_card.c index e076a13db55..e90d8e8c5fd 100644 --- a/drivers/pcmcia/vrc4171_card.c +++ b/drivers/pcmcia/vrc4171_card.c @@ -514,7 +514,7 @@ static inline unsigned int get_events(int slot)  	return events;  } -static irqreturn_t pccard_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t pccard_interrupt(int irq, 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 d19a9138135..812f038e9bd 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, struct pt_regs *regs) +static void cardu_interrupt(int irq, 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 1344746381e..26229d9da76 100644 --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c @@ -442,7 +442,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, struct pt_regs *regs) +static irqreturn_t yenta_interrupt(int irq, void *dev_id)  {  	unsigned int events;  	struct yenta_socket *socket = (struct yenta_socket *) dev_id; @@ -478,7 +478,7 @@ static void yenta_interrupt_wrapper(unsigned long data)  {  	struct yenta_socket *socket = (struct yenta_socket *) data; -	yenta_interrupt(0, (void *)socket, NULL); +	yenta_interrupt(0, (void *)socket);  	socket->poll_timer.expires = jiffies + HZ;  	add_timer(&socket->poll_timer);  } @@ -896,7 +896,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, struct pt_regs *regs) +static irqreturn_t yenta_probe_handler(int irq, 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 5c8ec21e108..a685fbec460 100644 --- a/drivers/pnp/resource.c +++ b/drivers/pnp/resource.c @@ -348,7 +348,7 @@ int pnp_check_mem(struct pnp_dev * dev, int idx)  	return 1;  } -static irqreturn_t pnp_test_handler(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t pnp_test_handler(int irq, void *dev_id)  {  	return IRQ_HANDLED;  } diff --git a/drivers/rtc/rtc-at91.c b/drivers/rtc/rtc-at91.c index c0714da4492..bd61e99540a 100644 --- a/drivers/rtc/rtc-at91.c +++ b/drivers/rtc/rtc-at91.c @@ -238,8 +238,7 @@ static int at91_rtc_proc(struct device *dev, struct seq_file *seq)  /*   * IRQ handler for the RTC   */ -static irqreturn_t at91_rtc_interrupt(int irq, void *dev_id, -					struct pt_regs *regs) +static irqreturn_t at91_rtc_interrupt(int irq, void *dev_id)  {  	struct platform_device *pdev = dev_id;  	struct rtc_device *rtc = platform_get_drvdata(pdev); diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c index 9647188fee2..78552e6e76a 100644 --- a/drivers/rtc/rtc-ds1553.c +++ b/drivers/rtc/rtc-ds1553.c @@ -189,8 +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, -					struct pt_regs *regs) +static irqreturn_t ds1553_rtc_interrupt(int irq, void *dev_id)  {  	struct platform_device *pdev = dev_id;  	struct rtc_plat_data *pdata = platform_get_drvdata(pdev); diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c index 739d1a6e14e..f13daa9feca 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, struct pt_regs *regs) +static irqreturn_t pl031_interrupt(int irq, void *dev_id)  {  	struct rtc_device *rtc = dev_id; diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index 625dad2eeb4..e301dea57bb 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, struct pt_regs *r) +static irqreturn_t s3c_rtc_alarmirq(int irq, void *id)  {  	struct rtc_device *rdev = id; @@ -54,7 +54,7 @@ static irqreturn_t s3c_rtc_alarmirq(int irq, void *id, struct pt_regs *r)  	return IRQ_HANDLED;  } -static irqreturn_t s3c_rtc_tickirq(int irq, void *id, struct pt_regs *r) +static irqreturn_t s3c_rtc_tickirq(int irq, void *id)  {  	struct rtc_device *rdev = id; diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c index 439c41aea31..bd4d7d174ef 100644 --- a/drivers/rtc/rtc-sa1100.c +++ b/drivers/rtc/rtc-sa1100.c @@ -68,8 +68,7 @@ static int rtc_update_alarm(struct rtc_time *alrm)  	return ret;  } -static irqreturn_t sa1100_rtc_interrupt(int irq, void *dev_id, -		struct pt_regs *regs) +static irqreturn_t sa1100_rtc_interrupt(int irq, void *dev_id)  {  	struct platform_device *pdev = to_platform_device(dev_id);  	struct rtc_device *rtc = platform_get_drvdata(pdev); @@ -106,8 +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, -		struct pt_regs *regs) +static irqreturn_t timer1_interrupt(int irq, 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 d2ce0c8bb8f..8b6efcc0505 100644 --- a/drivers/rtc/rtc-sh.c +++ b/drivers/rtc/rtc-sh.c @@ -73,7 +73,7 @@ struct sh_rtc {  	spinlock_t lock;  }; -static irqreturn_t sh_rtc_interrupt(int irq, void *id, struct pt_regs *regs) +static irqreturn_t sh_rtc_interrupt(int irq, void *id)  {  	struct platform_device *pdev = id;  	struct sh_rtc *rtc = platform_get_drvdata(pdev); @@ -97,7 +97,7 @@ static irqreturn_t sh_rtc_interrupt(int irq, void *id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t sh_rtc_periodic(int irq, void *id, struct pt_regs *regs) +static irqreturn_t sh_rtc_periodic(int irq, void *id)  {  	struct sh_rtc *rtc = dev_get_drvdata(id); diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c index 58e5ed0aa12..e40322b7193 100644 --- a/drivers/rtc/rtc-vr41xx.c +++ b/drivers/rtc/rtc-vr41xx.c @@ -268,7 +268,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, struct pt_regs *regs) +static irqreturn_t elapsedtime_interrupt(int irq, void *dev_id)  {  	struct platform_device *pdev = (struct platform_device *)dev_id;  	struct rtc_device *rtc = platform_get_drvdata(pdev); @@ -280,7 +280,7 @@ static irqreturn_t elapsedtime_interrupt(int irq, void *dev_id, struct pt_regs *  	return IRQ_HANDLED;  } -static irqreturn_t rtclong1_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t rtclong1_interrupt(int irq, 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/aurora.c b/drivers/sbus/char/aurora.c index a305d409154..a54b4ac6756 100644 --- a/drivers/sbus/char/aurora.c +++ b/drivers/sbus/char/aurora.c @@ -254,7 +254,7 @@ for(i=0;i<TYPE_1_IRQS;i++)  return 0;  } -static irqreturn_t aurora_interrupt(int irq, void * dev_id, struct pt_regs * regs); +static irqreturn_t aurora_interrupt(int irq, void * dev_id);  /* Main probing routine, also sets irq. */  static int aurora_probe(void) @@ -689,7 +689,7 @@ static void aurora_check_modem(struct Aurora_board const * bp, int chip)  }  /* The main interrupt processing routine */ -static irqreturn_t aurora_interrupt(int irq, void * dev_id, struct pt_regs * regs) +static irqreturn_t aurora_interrupt(int irq, void * dev_id)  {  	unsigned char status;  	unsigned char ack,chip/*,chip_id*/; diff --git a/drivers/sbus/char/bbc_i2c.c b/drivers/sbus/char/bbc_i2c.c index 7186235594f..22631f8b9b4 100644 --- a/drivers/sbus/char/bbc_i2c.c +++ b/drivers/sbus/char/bbc_i2c.c @@ -331,7 +331,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, struct pt_regs *regs) +static irqreturn_t bbc_i2c_interrupt(int irq, 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 40b6fc86f6a..f5803ecb199 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, struct pt_regs *regs); +static irqreturn_t wd_interrupt(int irq, 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, struct pt_regs *regs) +static irqreturn_t wd_interrupt(int irq, 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 575b1f7ed41..ddc0681ac75 100644 --- a/drivers/sbus/char/uctrl.c +++ b/drivers/sbus/char/uctrl.c @@ -217,7 +217,7 @@ uctrl_open(struct inode *inode, struct file *file)  	return 0;  } -static irqreturn_t uctrl_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t uctrl_interrupt(int irq, void *dev_id)  {  	struct uctrl_driver *driver = (struct uctrl_driver *)dev_id;  	printk("in uctrl_interrupt\n"); diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c index da173159ced..5f8c26cd66c 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, struct pt_regs *regs) +static irqreturn_t twa_interrupt(int irq, 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 2d4cb6721fa..99a259c5a0c 100644 --- a/drivers/scsi/3w-xxxx.c +++ b/drivers/scsi/3w-xxxx.c @@ -2078,8 +2078,7 @@ static int tw_scsi_queue(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd  } /* End tw_scsi_queue() */  /* This function is the interrupt service routine */ -static irqreturn_t tw_interrupt(int irq, void *dev_instance, -		     struct pt_regs *regs)  +static irqreturn_t tw_interrupt(int irq, void *dev_instance)   {  	int request_id;  	u32 status_reg_value; diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c index 15ce40a7053..562432d017b 100644 --- a/drivers/scsi/53c700.c +++ b/drivers/scsi/53c700.c @@ -1462,7 +1462,7 @@ NCR_700_start_command(struct scsi_cmnd *SCp)  }  irqreturn_t -NCR_700_intr(int irq, void *dev_id, struct pt_regs *regs) +NCR_700_intr(int irq, 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 97ebe71b701..f5c3caf344a 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 *, struct pt_regs *); +irqreturn_t NCR_700_intr(int, void *);  enum NCR_700_Host_State { diff --git a/drivers/scsi/53c7xx.c b/drivers/scsi/53c7xx.c index acf292736b4..640536ef77d 100644 --- a/drivers/scsi/53c7xx.c +++ b/drivers/scsi/53c7xx.c @@ -323,7 +323,7 @@ static int shutdown (struct Scsi_Host *host);  static void abnormal_finished (struct NCR53c7x0_cmd *cmd, int result);  static int disable (struct Scsi_Host *host);  static int NCR53c7xx_run_tests (struct Scsi_Host *host); -static irqreturn_t NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); +static irqreturn_t NCR53c7x0_intr(int irq, void *dev_id);  static void NCR53c7x0_intfly (struct Scsi_Host *host);  static int ncr_halt (struct Scsi_Host *host);  static void intr_phase_mismatch (struct Scsi_Host *host, struct NCR53c7x0_cmd  @@ -4227,7 +4227,7 @@ restart:  }  /* - * Function : static irqreturn_t NCR53c7x0_intr (int irq, void *dev_id, struct pt_regs * regs) + * Function : static irqreturn_t NCR53c7x0_intr (int irq, void *dev_id)   *   * Purpose : handle NCR53c7x0 interrupts for all NCR devices sharing   *	the same IRQ line.   @@ -4241,7 +4241,7 @@ restart:   */  static irqreturn_t -NCR53c7x0_intr (int irq, void *dev_id, struct pt_regs * regs) +NCR53c7x0_intr (int irq, void *dev_id)  {      NCR53c7x0_local_declare();      struct Scsi_Host *host;			/* Host we are looking at */ diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c index 4ea49fd7965..7c59bba9879 100644 --- a/drivers/scsi/BusLogic.c +++ b/drivers/scsi/BusLogic.c @@ -2653,7 +2653,7 @@ static void BusLogic_ProcessCompletedCCBs(struct BusLogic_HostAdapter *HostAdapt    Adapters.  */ -static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, void *DeviceIdentifier, struct pt_regs *InterruptRegisters) +static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, 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 d6d1d5613c8..cca6d45eee4 100644 --- a/drivers/scsi/BusLogic.h +++ b/drivers/scsi/BusLogic.h @@ -1347,7 +1347,7 @@ static int BusLogic_BIOSDiskParameters(struct scsi_device *, struct block_device  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 *, struct pt_regs *); +static irqreturn_t BusLogic_InterruptHandler(int, void *);  static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *, boolean HardReset);  static void BusLogic_Message(enum BusLogic_MessageLevel, char *, struct BusLogic_HostAdapter *, ...);  static int __init BusLogic_Setup(char *); diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c index 616810ad17d..a6aa9107288 100644 --- a/drivers/scsi/NCR5380.c +++ b/drivers/scsi/NCR5380.c @@ -558,8 +558,7 @@ static int probe_irq __initdata = 0;   *	used by the IRQ probe code.   */ -static irqreturn_t __init probe_intr(int irq, void *dev_id, -					struct pt_regs *regs) +static irqreturn_t __init probe_intr(int irq, void *dev_id)  {  	probe_irq = irq;  	return IRQ_HANDLED; @@ -1148,7 +1147,6 @@ static void NCR5380_main(void *p)   * 	NCR5380_intr	-	generic NCR5380 irq handler   *	@irq: interrupt number   *	@dev_id: device info - *	@regs: registers (unused)   *   *	Handle interrupts, reestablishing I_T_L or I_T_L_Q nexuses   *      from the disconnected queue, and restarting NCR5380_main()  @@ -1157,7 +1155,7 @@ static void NCR5380_main(void *p)   *	Locks: takes the needed instance locks   */ -static irqreturn_t NCR5380_intr(int irq, void *dev_id, struct pt_regs *regs)  +static irqreturn_t NCR5380_intr(int irq, void *dev_id)   {  	NCR5380_local_declare();  	struct Scsi_Host *instance = (struct Scsi_Host *)dev_id; diff --git a/drivers/scsi/NCR5380.h b/drivers/scsi/NCR5380.h index c3462e358d1..1bc73de496b 100644 --- a/drivers/scsi/NCR5380.h +++ b/drivers/scsi/NCR5380.h @@ -296,7 +296,7 @@ static int NCR5380_init(struct Scsi_Host *instance, int flags);  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, struct pt_regs *regs); +static irqreturn_t NCR5380_intr(int irq, void *dev_id);  #endif  static void NCR5380_main(void *ptr);  static void NCR5380_print_options(struct Scsi_Host *instance); diff --git a/drivers/scsi/NCR53C9x.c b/drivers/scsi/NCR53C9x.c index bdc6bb262bc..3c912ee29da 100644 --- a/drivers/scsi/NCR53C9x.c +++ b/drivers/scsi/NCR53C9x.c @@ -96,7 +96,7 @@ enum {  static struct NCR_ESP *espchain;  int nesps = 0, esps_in_use = 0, esps_running = 0; -irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs); +irqreturn_t esp_intr(int irq, void *dev_id);  /* Debugging routines */  static struct esp_cmdstrings { @@ -3533,7 +3533,7 @@ state_machine:  }  #ifndef CONFIG_SMP -irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs) +irqreturn_t esp_intr(int irq, void *dev_id)  {  	struct NCR_ESP *esp;  	unsigned long flags; @@ -3570,7 +3570,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, struct pt_regs *pregs) +irqreturn_t esp_intr(int irq, void *dev_id)  {  	struct NCR_ESP *esp;  	unsigned long flags; diff --git a/drivers/scsi/NCR53C9x.h b/drivers/scsi/NCR53C9x.h index 481653c977c..521e3f842cf 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 *);  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 *, struct pt_regs *); +extern irqreturn_t esp_intr(int, 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 8472c535902..3896278594c 100644 --- a/drivers/scsi/NCR53c406a.c +++ b/drivers/scsi/NCR53c406a.c @@ -168,8 +168,8 @@ enum Phase {  };  /* Static function prototypes */ -static void NCR53c406a_intr(int, void *, struct pt_regs *); -static irqreturn_t do_NCR53c406a_intr(int, void *, struct pt_regs *); +static void NCR53c406a_intr(int, void *); +static irqreturn_t do_NCR53c406a_intr(int, void *);  static void chip_init(void);  static void calc_port_addr(void);  #ifndef IRQ_LEV @@ -761,19 +761,18 @@ static int NCR53c406a_biosparm(struct scsi_device *disk,  	return 0;  } -static irqreturn_t do_NCR53c406a_intr(int unused, void *dev_id, -					struct pt_regs *regs) +static irqreturn_t do_NCR53c406a_intr(int unused, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *dev = dev_id;  	spin_lock_irqsave(dev->host_lock, flags); -	NCR53c406a_intr(0, dev_id, regs); +	NCR53c406a_intr(0, dev_id);  	spin_unlock_irqrestore(dev->host_lock, flags);  	return IRQ_HANDLED;  } -static void NCR53c406a_intr(int unused, void *dev_id, struct pt_regs *regs) +static void NCR53c406a_intr(int unused, void *dev_id)  {  	DEB(unsigned char fifo_size;  	    ) diff --git a/drivers/scsi/NCR_D700.c b/drivers/scsi/NCR_D700.c index d05681f9d81..9859cd17fc5 100644 --- a/drivers/scsi/NCR_D700.c +++ b/drivers/scsi/NCR_D700.c @@ -226,14 +226,14 @@ NCR_D700_probe_one(struct NCR_D700_private *p, int siop, int irq,  }  static int -NCR_D700_intr(int irq, void *data, struct pt_regs *regs) +NCR_D700_intr(int irq, void *data)  {  	struct NCR_D700_private *p = (struct NCR_D700_private *)data;  	int i, found = 0;  	for (i = 0; i < 2; i++)  		if (p->hosts[i] && -		    NCR_700_intr(irq, p->hosts[i], regs) == IRQ_HANDLED) +		    NCR_700_intr(irq, 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 c39ffbb86e3..778844c3544 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, struct pt_regs * regs) +NCR_Q720_intr(int irq, void *data)  {  	struct NCR_Q720_private *p = (struct NCR_Q720_private *)data;  	__u8 sir = (readb(p->mem_base + 0x0d) & 0xf0) >> 4; @@ -68,7 +68,7 @@ NCR_Q720_intr(int irq, void *data, struct pt_regs * regs)  	while((siop = ffz(sir)) < p->siops) {  		sir |= 1<<siop; -		ncr53c8xx_intr(irq, p->hosts[siop], regs); +		ncr53c8xx_intr(irq, p->hosts[siop]);  	}  	return IRQ_HANDLED;  } diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c index 2684150917e..2650a5d0a16 100644 --- a/drivers/scsi/a100u2w.c +++ b/drivers/scsi/a100u2w.c @@ -1013,7 +1013,7 @@ static void inia100SCBPost(BYTE * pHcb, BYTE * pScb)  /*   * Interrupt handler (main routine of the driver)   */ -static irqreturn_t inia100_intr(int irqno, void *devid, struct pt_regs *regs) +static irqreturn_t inia100_intr(int irqno, void *devid)  {  	struct Scsi_Host *host = (struct Scsi_Host *)devid;  	ORC_HCS *pHcb = (ORC_HCS *)host->hostdata; diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c index 08540692860..f77016d31ca 100644 --- a/drivers/scsi/a2091.c +++ b/drivers/scsi/a2091.c @@ -24,7 +24,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, struct pt_regs *fp) +static irqreturn_t a2091_intr (int irq, void *_instance)  {      unsigned long flags;      unsigned int status; diff --git a/drivers/scsi/a3000.c b/drivers/scsi/a3000.c index 7bf46d40b56..1299bc8edef 100644 --- a/drivers/scsi/a3000.c +++ b/drivers/scsi/a3000.c @@ -26,7 +26,7 @@  static struct Scsi_Host *a3000_host = NULL; -static irqreturn_t a3000_intr (int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t a3000_intr (int irq, 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 a1d214d770e..dcc8b0ea7a9 100644 --- a/drivers/scsi/aacraid/rx.c +++ b/drivers/scsi/aacraid/rx.c @@ -46,11 +46,11 @@  #include "aacraid.h" -static irqreturn_t aac_rx_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t aac_rx_intr(int irq, void *dev_id)  {  	struct aac_dev *dev = dev_id; -	dprintk((KERN_DEBUG "aac_rx_intr(%d,%p,%p)\n", irq, dev_id, regs)); +	dprintk((KERN_DEBUG "aac_rx_intr(%d,%p)\n", irq, dev_id));  	if (dev->new_comm_interface) {  		u32 Index = rx_readl(dev, MUnit.OutboundQueue);  		if (Index == 0xFFFFFFFFL) diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c index f906ead239d..511b0a938fb 100644 --- a/drivers/scsi/aacraid/sa.c +++ b/drivers/scsi/aacraid/sa.c @@ -46,7 +46,7 @@  #include "aacraid.h" -static irqreturn_t aac_sa_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t aac_sa_intr(int irq, 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 773f02e3b10..83695416b2c 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c @@ -3999,7 +3999,7 @@ STATIC PortAddr     _asc_def_iop_base[];   * advansys.h contains function prototypes for functions global to Linux.   */ -STATIC irqreturn_t advansys_interrupt(int, void *, struct pt_regs *); +STATIC irqreturn_t advansys_interrupt(int, void *);  STATIC int	  advansys_slave_configure(struct scsi_device *);  STATIC void       asc_scsi_done_list(struct scsi_cmnd *);  STATIC int        asc_execute_scsi_cmnd(struct scsi_cmnd *); @@ -5997,7 +5997,7 @@ static struct scsi_host_template driver_template = {   * an AdvanSys adapter.   */  STATIC irqreturn_t -advansys_interrupt(int irq, void *dev_id, struct pt_regs *regs) +advansys_interrupt(int irq, void *dev_id)  {      ulong           flags;      int             i; diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c index fb6a476eb87..e04c2bc1932 100644 --- a/drivers/scsi/aha152x.c +++ b/drivers/scsi/aha152x.c @@ -673,7 +673,7 @@ static struct {  };  /* setup & interrupt */ -static irqreturn_t intr(int irq, void *dev_id, struct pt_regs *); +static irqreturn_t intr(int irq, 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); @@ -757,7 +757,7 @@ static inline Scsi_Cmnd *remove_SC(Scsi_Cmnd **SC, Scsi_Cmnd *SCp)  	return ptr;  } -static irqreturn_t swintr(int irqno, void *dev_id, struct pt_regs *regs) +static irqreturn_t swintr(int irqno, void *dev_id)  {  	struct Scsi_Host *shpnt = (struct Scsi_Host *)dev_id; @@ -1463,7 +1463,7 @@ static void run(void)   * Interrupt handler   *   */ -static irqreturn_t intr(int irqno, void *dev_id, struct pt_regs *regs) +static irqreturn_t intr(int irqno, void *dev_id)  {  	struct Scsi_Host *shpnt = (struct Scsi_Host *)dev_id;  	unsigned long flags; diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c index 24f0f546179..d7a61a6bdaa 100644 --- a/drivers/scsi/aha1542.c +++ b/drivers/scsi/aha1542.c @@ -174,9 +174,8 @@ 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, struct pt_regs *regs); -static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id, -					struct pt_regs *regs); +static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id); +static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id);  #define aha1542_intr_reset(base)  outb(IRST, CONTROL(base)) @@ -416,8 +415,7 @@ 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, -					struct pt_regs *regs) +static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *shost; @@ -427,13 +425,13 @@ static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id,  		panic("Splunge!");  	spin_lock_irqsave(shost->host_lock, flags); -	aha1542_intr_handle(shost, dev_id, regs); +	aha1542_intr_handle(shost, dev_id);  	spin_unlock_irqrestore(shost->host_lock, flags);  	return IRQ_HANDLED;  }  /* A "high" level interrupt handler */ -static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id, struct pt_regs *regs) +static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id)  {  	void (*my_done) (Scsi_Cmnd *) = NULL;  	int errstatus, mbi, mbo, mbistatus; diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c index 6b35ed8301e..c3c38a7e8d3 100644 --- a/drivers/scsi/aha1740.c +++ b/drivers/scsi/aha1740.c @@ -223,8 +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, -				       struct pt_regs *regs) +static irqreturn_t aha1740_intr_handle(int irq, 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 1faa008b5b8..f8e60486167 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm.c @@ -1557,7 +1557,7 @@ ahd_linux_run_command(struct ahd_softc *ahd, struct ahd_linux_device *dev,   * SCSI controller interrupt handler.   */  irqreturn_t -ahd_linux_isr(int irq, void *dev_id, struct pt_regs * regs) +ahd_linux_isr(int irq, 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 601340d8441..fb3d4dd5441 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.h +++ b/drivers/scsi/aic7xxx/aic79xx_osm.h @@ -862,7 +862,7 @@ int	ahd_platform_abort_scbs(struct ahd_softc *ahd, int target,  				char channel, int lun, u_int tag,  				role_t role, uint32_t status);  irqreturn_t -	ahd_linux_isr(int irq, void *dev_id, struct pt_regs * regs); +	ahd_linux_isr(int irq, 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 339b85cb61c..43ab753d273 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -1608,7 +1608,7 @@ ahc_linux_run_command(struct ahc_softc *ahc, struct ahc_linux_device *dev,   * SCSI controller interrupt handler.   */  irqreturn_t -ahc_linux_isr(int irq, void *dev_id, struct pt_regs * regs) +ahc_linux_isr(int irq, 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 d42a71ee076..a87a4ce090d 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.h +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.h @@ -830,7 +830,7 @@ int	ahc_platform_abort_scbs(struct ahc_softc *ahc, int target,  				char channel, int lun, u_int tag,  				role_t role, uint32_t status);  irqreturn_t -	ahc_linux_isr(int irq, void *dev_id, struct pt_regs * regs); +	ahc_linux_isr(int irq, 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 3eae8062a02..7f0adf9c4c7 100644 --- a/drivers/scsi/aic7xxx_old.c +++ b/drivers/scsi/aic7xxx_old.c @@ -6345,7 +6345,7 @@ aic7xxx_handle_command_completion_intr(struct aic7xxx_host *p)   *   SCSI controller interrupt handler.   *-F*************************************************************************/  static void -aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs) +aic7xxx_isr(int irq, void *dev_id)  {    struct aic7xxx_host *p;    unsigned char intstat; @@ -6477,7 +6477,7 @@ aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs)   *   anything like it, please inform the Gross Hack Police immediately   *-F*************************************************************************/  static irqreturn_t -do_aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs) +do_aic7xxx_isr(int irq, void *dev_id)  {    unsigned long cpu_flags;    struct aic7xxx_host *p; @@ -6489,7 +6489,7 @@ do_aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs)    p->flags |= AHC_IN_ISR;    do    { -    aic7xxx_isr(irq, dev_id, regs); +    aic7xxx_isr(irq, dev_id);    } while ( (aic_inb(p, INTSTAT) & INT_PEND) );    aic7xxx_done_cmds_complete(p);    aic7xxx_run_waiting_queues(p); @@ -10377,7 +10377,7 @@ static int __aic7xxx_bus_device_reset(struct scsi_cmnd *cmd)    hscb = scb->hscb; -  aic7xxx_isr(p->irq, (void *)p, NULL); +  aic7xxx_isr(p->irq, (void *)p);    aic7xxx_done_cmds_complete(p);    /* If the command was already complete or just completed, then we didn't     * do a reset, return FAILED */ @@ -10608,7 +10608,7 @@ static int __aic7xxx_abort(struct scsi_cmnd *cmd)    else      return FAILED; -  aic7xxx_isr(p->irq, (void *)p, NULL); +  aic7xxx_isr(p->irq, (void *)p);    aic7xxx_done_cmds_complete(p);    /* If the command was already complete or just completed, then we didn't     * do a reset, return FAILED */ @@ -10863,7 +10863,7 @@ static int aic7xxx_reset(struct scsi_cmnd *cmd)    while((aic_inb(p, INTSTAT) & INT_PEND) && !(p->flags & AHC_IN_ISR))    { -    aic7xxx_isr(p->irq, p, (void *)NULL ); +    aic7xxx_isr(p->irq, p);      pause_sequencer(p);    }    aic7xxx_done_cmds_complete(p); diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.c b/drivers/scsi/aic94xx/aic94xx_hwi.c index 1d8c5e5f442..3c2d7a37993 100644 --- a/drivers/scsi/aic94xx/aic94xx_hwi.c +++ b/drivers/scsi/aic94xx/aic94xx_hwi.c @@ -996,11 +996,10 @@ static inline void asd_hst_pcix_isr(struct asd_ha_struct *asd_ha)   * asd_hw_isr -- host adapter interrupt service routine   * @irq: ignored   * @dev_id: pointer to host adapter structure - * @regs: ignored   *   * The ISR processes done list entries and level 3 error handling.   */ -irqreturn_t asd_hw_isr(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t asd_hw_isr(int irq, 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 8498144aa5e..14319d1d680 100644 --- a/drivers/scsi/aic94xx/aic94xx_hwi.h +++ b/drivers/scsi/aic94xx/aic94xx_hwi.h @@ -371,7 +371,7 @@ static inline void asd_ascb_free_list(struct asd_ascb *ascb_list)  /* ---------- Function declarations ---------- */  int  asd_init_hw(struct asd_ha_struct *asd_ha); -irqreturn_t asd_hw_isr(int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t asd_hw_isr(int irq, void *dev_id);  struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct diff --git a/drivers/scsi/amiga7xx.h b/drivers/scsi/amiga7xx.h index 1b637592d5a..7cd63a99688 100644 --- a/drivers/scsi/amiga7xx.h +++ b/drivers/scsi/amiga7xx.h @@ -8,7 +8,7 @@ int NCR53c7xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));  int NCR53c7xx_abort(Scsi_Cmnd *);  int NCR53c7x0_release (struct Scsi_Host *);  int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int); -void NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); +void NCR53c7x0_intr(int irq, void *dev_id);  #ifndef CMD_PER_LUN  #define CMD_PER_LUN 3 diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c index 475f978ff8f..086cc97eee8 100644 --- a/drivers/scsi/arcmsr/arcmsr_hba.c +++ b/drivers/scsi/arcmsr/arcmsr_hba.c @@ -147,8 +147,7 @@ static struct pci_driver arcmsr_pci_driver = {  	.shutdown		= arcmsr_shutdown  }; -static irqreturn_t arcmsr_do_interrupt(int irq, void *dev_id, -	struct pt_regs *regs) +static irqreturn_t arcmsr_do_interrupt(int irq, void *dev_id)  {  	irqreturn_t handle_state;  	struct AdapterControlBlock *acb; diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c index 0525d672e1e..9cf902b7a12 100644 --- a/drivers/scsi/arm/acornscsi.c +++ b/drivers/scsi/arm/acornscsi.c @@ -2461,14 +2461,13 @@ intr_ret_t acornscsi_sbicintr(AS_Host *host, int in_irq)  }  /* - * Prototype: void acornscsi_intr(int irq, void *dev_id, struct pt_regs *regs) + * Prototype: void acornscsi_intr(int irq, void *dev_id)   * Purpose  : handle interrupts from Acorn SCSI card   * Params   : irq    - interrupt number   *	      dev_id - device specific data (AS_Host structure) - *	      regs   - processor registers when interrupt occurred   */  static irqreturn_t -acornscsi_intr(int irq, void *dev_id, struct pt_regs *regs) +acornscsi_intr(int irq, 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 719af0dcc0e..19edd9c853d 100644 --- a/drivers/scsi/arm/cumana_2.c +++ b/drivers/scsi/arm/cumana_2.c @@ -137,10 +137,9 @@ cumanascsi_2_terminator_ctl(struct Scsi_Host *host, int on_off)   * Purpose  : handle interrupts from Cumana SCSI 2 card   * Params   : irq    - interrupt number   *	      dev_id - user-defined (Scsi_Host structure) - *	      regs   - processor registers at interrupt   */  static irqreturn_t -cumanascsi_2_intr(int irq, void *dev_id, struct pt_regs *regs) +cumanascsi_2_intr(int irq, void *dev_id)  {  	struct cumanascsi2_info *info = dev_id; diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c index dcbb4b2b3fe..3f876fb7546 100644 --- a/drivers/scsi/arm/eesox.c +++ b/drivers/scsi/arm/eesox.c @@ -138,10 +138,9 @@ eesoxscsi_terminator_ctl(struct Scsi_Host *host, int on_off)   * Purpose  : handle interrupts from EESOX SCSI card   * Params   : irq    - interrupt number   *	      dev_id - user-defined (Scsi_Host structure) - *	      regs   - processor registers at interrupt   */  static irqreturn_t -eesoxscsi_intr(int irq, void *dev_id, struct pt_regs *regs) +eesoxscsi_intr(int irq, void *dev_id)  {  	struct eesoxscsi_info *info = dev_id; diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c index b2c346a4705..ce159c15bc8 100644 --- a/drivers/scsi/arm/powertec.c +++ b/drivers/scsi/arm/powertec.c @@ -112,10 +112,8 @@ powertecscsi_terminator_ctl(struct Scsi_Host *host, int on_off)   * Purpose  : handle interrupts from Powertec SCSI card   * Params   : irq    - interrupt number   *	      dev_id - user-defined (Scsi_Host structure) - *	      regs   - processor registers at interrupt   */ -static irqreturn_t -powertecscsi_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t powertecscsi_intr(int irq, void *dev_id)  {  	struct powertec_info *info = dev_id; diff --git a/drivers/scsi/atari_NCR5380.c b/drivers/scsi/atari_NCR5380.c index e397129c90d..0f920c84ac0 100644 --- a/drivers/scsi/atari_NCR5380.c +++ b/drivers/scsi/atari_NCR5380.c @@ -1262,7 +1262,7 @@ static void NCR5380_dma_complete( struct Scsi_Host *instance )   *   */ -static irqreturn_t NCR5380_intr (int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t NCR5380_intr (int irq, 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 8d5d2a5da96..cdc710ea00f 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, struct pt_regs *fp) + * void hades_dma_emulator(int irq, 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, struct pt_regs *fp) +static irqreturn_t hades_dma_emulator(int irq, 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 e1be4a4387c..dfb1bcfae82 100644 --- a/drivers/scsi/atari_scsi.c +++ b/drivers/scsi/atari_scsi.c @@ -194,8 +194,8 @@ static int falcon_classify_cmd( Scsi_Cmnd *cmd );  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, struct pt_regs *fp); -static irqreturn_t scsi_falcon_intr( int irq, void *dummy, struct pt_regs *fp); +static irqreturn_t scsi_tt_intr( int irq, void *dummy); +static irqreturn_t scsi_falcon_intr( int irq, void *dummy);  static void falcon_release_lock_if_possible( struct NCR5380_hostdata *                                               hostdata );  static void falcon_get_lock( void ); @@ -285,7 +285,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, struct pt_regs *fp) +static void scsi_dma_buserr (int irq, void *dummy)  {  	unsigned char	dma_stat = tt_scsi_dma.dma_ctrl; @@ -314,7 +314,7 @@ static void scsi_dma_buserr (int irq, void *dummy, struct pt_regs *fp)  #endif -static irqreturn_t scsi_tt_intr (int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t scsi_tt_intr (int irq, void *dummy)  {  #ifdef REAL_DMA  	int dma_stat; @@ -406,7 +406,7 @@ static irqreturn_t scsi_tt_intr (int irq, void *dummy, struct pt_regs *fp)  } -static irqreturn_t scsi_falcon_intr (int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t scsi_falcon_intr (int irq, void *dummy)  {  #ifdef REAL_DMA  	int dma_stat; diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c index 0ec41f34f46..fec58cc47f1 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, struct pt_regs *regs) +static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)  {  	unsigned long flags;  	unsigned short int tmpcip, id; diff --git a/drivers/scsi/bvme6000.h b/drivers/scsi/bvme6000.h index 7c9c0366cc0..ea3e4b2b922 100644 --- a/drivers/scsi/bvme6000.h +++ b/drivers/scsi/bvme6000.h @@ -9,7 +9,7 @@ int NCR53c7xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));  int NCR53c7xx_abort(Scsi_Cmnd *);  int NCR53c7x0_release (struct Scsi_Host *);  int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int); -void NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); +void NCR53c7x0_intr(int irq, void *dev_id);  #ifndef CMD_PER_LUN  #define CMD_PER_LUN 3 diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c index c6118d99385..81e3ee51d89 100644 --- a/drivers/scsi/dc395x.c +++ b/drivers/scsi/dc395x.c @@ -1813,8 +1813,7 @@ static void dc395x_handle_interrupt(struct AdapterCtlBlk *acb,  } -static irqreturn_t dc395x_interrupt(int irq, void *dev_id, -		struct pt_regs *regs) +static irqreturn_t dc395x_interrupt(int irq, void *dev_id)  {  	struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)dev_id;  	u16 scsi_status; diff --git a/drivers/scsi/dec_esp.c b/drivers/scsi/dec_esp.c index eb32062f7e6..c29ccbc4469 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 *, struct pt_regs *); -static irqreturn_t scsi_dma_err_int(int, void *, struct pt_regs *); -static irqreturn_t scsi_dma_int(int, void *, struct pt_regs *); +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 int dec_esp_detect(struct scsi_host_template * tpnt); @@ -307,7 +307,7 @@ err_dealloc:  }  /************************************************************* DMA Functions */ -static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id)  {  	printk("Got unexpected SCSI DMA Interrupt! < ");  	printk("SCSI_DMA_MEMRDERR "); @@ -316,14 +316,14 @@ static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id, struct pt_regs *regs  	return IRQ_HANDLED;  } -static irqreturn_t scsi_dma_err_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t scsi_dma_err_int(int irq, void *dev_id)  {  	/* empty */  	return IRQ_HANDLED;  } -static irqreturn_t scsi_dma_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t scsi_dma_int(int irq, void *dev_id)  {  	u32 scsi_next_ptr; diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c index b20b37661d6..60b1b434eba 100644 --- a/drivers/scsi/dpt_i2o.c +++ b/drivers/scsi/dpt_i2o.c @@ -1989,7 +1989,7 @@ static int adpt_ioctl(struct inode *inode, struct file *file, uint cmd,  } -static irqreturn_t adpt_isr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t adpt_isr(int irq, 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 28998326492..fd79068c586 100644 --- a/drivers/scsi/dpti.h +++ b/drivers/scsi/dpti.h @@ -263,7 +263,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, struct pt_regs *regs); +static irqreturn_t adpt_isr(int irq, 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.c b/drivers/scsi/eata.c index a5ff43b1b26..2d38025861a 100644 --- a/drivers/scsi/eata.c +++ b/drivers/scsi/eata.c @@ -875,7 +875,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 *, struct pt_regs *); +static irqreturn_t do_interrupt_handler(int, void *);  static void flush_dev(struct scsi_device *, unsigned long, struct hostdata *,  		      unsigned int);  static int do_trace = 0; @@ -2555,8 +2555,7 @@ static irqreturn_t ihdlr(int irq, struct Scsi_Host *shost)  	return IRQ_NONE;  } -static irqreturn_t do_interrupt_handler(int irq, void *shap, -					struct pt_regs *regs) +static irqreturn_t do_interrupt_handler(int irq, void *shap)  {  	struct Scsi_Host *shost;  	unsigned int j; diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c index d312633db92..811d8840707 100644 --- a/drivers/scsi/eata_pio.c +++ b/drivers/scsi/eata_pio.c @@ -194,10 +194,9 @@ static void IncStat(struct scsi_pointer *SCp, unsigned int Increment)  	}  } -static irqreturn_t eata_pio_int_handler(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t eata_pio_int_handler(int irq, void *dev_id); -static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id, -						struct pt_regs *regs) +static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *dev = dev_id; @@ -209,7 +208,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, struct pt_regs *regs) +static irqreturn_t eata_pio_int_handler(int irq, void *dev_id)  {  	unsigned int eata_stat = 0xfffff;  	struct scsi_cmnd *cmd; diff --git a/drivers/scsi/esp.c b/drivers/scsi/esp.c index 5630868c1b2..2c2fe80bc42 100644 --- a/drivers/scsi/esp.c +++ b/drivers/scsi/esp.c @@ -184,7 +184,7 @@ enum {  };  /* Forward declarations. */ -static irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs); +static irqreturn_t esp_intr(int irq, void *dev_id);  /* Debugging routines */  struct esp_cmdstrings { @@ -4282,7 +4282,7 @@ state_machine:  }  /* Service only the ESP described by dev_id. */ -static irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs) +static irqreturn_t esp_intr(int irq, void *dev_id)  {  	struct esp *esp = dev_id;  	unsigned long flags; diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c index dde3edf35c0..ef8285c326e 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, struct pt_regs *regs); +static irqreturn_t fd_mcs_intr(int irq, void *dev_id);  static unsigned long addresses[] = { 0xc8000, 0xca000, 0xce000, 0xde000 };  static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 }; @@ -617,7 +617,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, struct pt_regs *regs) +static irqreturn_t fd_mcs_intr(int irq, void *dev_id)  {  	unsigned long flags;  	int status; diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c index b0694dcce24..41b05fc4538 100644 --- a/drivers/scsi/fdomain.c +++ b/drivers/scsi/fdomain.c @@ -403,8 +403,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, -					    struct pt_regs * regs ); +static irqreturn_t       do_fdomain_16x0_intr( int irq, void *dev_id );  /* Allow insmod parameters to be like LILO parameters.  For example:     insmod fdomain fdomain=0x140,11 */  static char * fdomain = NULL; @@ -1094,8 +1093,7 @@ static void my_done(int error)  #endif  } -static irqreturn_t do_fdomain_16x0_intr(int irq, void *dev_id, -					struct pt_regs * regs ) +static irqreturn_t do_fdomain_16x0_intr(int irq, void *dev_id)  {     unsigned long flags;     int      status; diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c index 0f3eb22b979..4bc14ad92e2 100644 --- a/drivers/scsi/gdth.c +++ b/drivers/scsi/gdth.c @@ -424,7 +424,7 @@  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, struct pt_regs *regs); +static irqreturn_t gdth_interrupt(int irq, void *dev_id);  static int gdth_sync_event(int hanum,int service,unchar index,Scsi_Cmnd *scp);  static int gdth_async_event(int hanum);  static void gdth_log_event(gdth_evt_data *dvr, char *buffer); @@ -1804,7 +1804,7 @@ static int gdth_wait(int hanum,int index,ulong32 time)      gdth_from_wait = TRUE;      do { -        gdth_interrupt((int)ha->irq,ha,NULL); +        gdth_interrupt((int)ha->irq,ha);          if (wait_hanum==hanum && wait_index==index) {              answer_found = TRUE;              break; @@ -3406,7 +3406,7 @@ static void gdth_clear_events(void)  /* SCSI interface functions */ -static irqreturn_t gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) +static irqreturn_t gdth_interrupt(int irq,void *dev_id)  {      gdth_ha_str *ha2 = (gdth_ha_str *)dev_id;      register gdth_ha_str *ha; diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c index 18dbe5c27da..2f6c1137a6e 100644 --- a/drivers/scsi/gvp11.c +++ b/drivers/scsi/gvp11.c @@ -24,7 +24,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, struct pt_regs *fp) +static irqreturn_t gvp11_intr (int irq, void *_instance)  {      unsigned long flags;      unsigned int status; diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c index 28bfb8f9f81..bec83cbee59 100644 --- a/drivers/scsi/hptiop.c +++ b/drivers/scsi/hptiop.c @@ -431,7 +431,7 @@ void hptiop_iop_request_callback(struct hptiop_hba *hba, u32 tag)  	writel(tag, &hba->iop->outbound_queue);  } -static irqreturn_t hptiop_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t hptiop_intr(int irq, void *dev_id)  {  	struct hptiop_hba  *hba = dev_id;  	int  handled; diff --git a/drivers/scsi/ibmmca.c b/drivers/scsi/ibmmca.c index 2be1dc5d852..0e57fb6964d 100644 --- a/drivers/scsi/ibmmca.c +++ b/drivers/scsi/ibmmca.c @@ -497,8 +497,7 @@ static int option_setup(char *);  static int ldn_access_load(int, int);  static int ldn_access_total_read_write(int); -static irqreturn_t interrupt_handler(int irq, void *dev_id, -					struct pt_regs *regs) +static irqreturn_t interrupt_handler(int irq, void *dev_id)  {  	int host_index, ihost_index;  	unsigned int intr_reg; diff --git a/drivers/scsi/ibmvscsi/rpa_vscsi.c b/drivers/scsi/ibmvscsi/rpa_vscsi.c index 01b8ac641eb..227c0f2f4d7 100644 --- a/drivers/scsi/ibmvscsi/rpa_vscsi.c +++ b/drivers/scsi/ibmvscsi/rpa_vscsi.c @@ -45,14 +45,11 @@ static unsigned int partition_number = -1;   * ibmvscsi_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 - * @regs:	pt_regs with registers   *   * Disables interrupts and schedules srp_task   * Always returns IRQ_HANDLED   */ -static irqreturn_t ibmvscsi_handle_event(int irq, -					 void *dev_instance, -					 struct pt_regs *regs) +static irqreturn_t ibmvscsi_handle_event(int irq, 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 59a4097f125..312190a6938 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, struct pt_regs *ptregs) +static irqreturn_t in2000_intr(int irqnum, 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 9e10dac61cf..911f2ff4a1f 100644 --- a/drivers/scsi/initio.c +++ b/drivers/scsi/initio.c @@ -2748,7 +2748,7 @@ int tul_wait_done_disc(HCS * pCurHcb)  	return (tul_bad_seq(pCurHcb));  } -static irqreturn_t i91u_intr(int irqno, void *dev_id, struct pt_regs *regs) +static irqreturn_t i91u_intr(int irqno, 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 e1fe9494125..2dde821025f 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -3880,12 +3880,11 @@ static irqreturn_t ipr_handle_other_interrupt(struct ipr_ioa_cfg *ioa_cfg,   * ipr_isr - Interrupt service routine   * @irq:	irq number   * @devp:	pointer to ioa config struct - * @regs:	pt_regs struct   *   * Return value:   * 	IRQ_NONE / IRQ_HANDLED   **/ -static irqreturn_t ipr_isr(int irq, void *devp, struct pt_regs *regs) +static irqreturn_t ipr_isr(int irq, 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 9a9ab297cf1..f06a06ae609 100644 --- a/drivers/scsi/ips.c +++ b/drivers/scsi/ips.c @@ -248,7 +248,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 *, struct pt_regs *); +static irqreturn_t do_ipsintr(int, 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); @@ -1328,7 +1328,7 @@ ips_slave_configure(struct scsi_device * SDptr)  /*                                                                          */  /****************************************************************************/  static irqreturn_t -do_ipsintr(int irq, void *dev_id, struct pt_regs * regs) +do_ipsintr(int irq, void *dev_id)  {  	ips_ha_t *ha;  	unsigned long cpu_flags; diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index 3d684496acd..1251788ce2a 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h @@ -120,7 +120,7 @@ int lpfc_sli_queue_setup(struct lpfc_hba *);  void lpfc_handle_eratt(struct lpfc_hba *);  void lpfc_handle_latt(struct lpfc_hba *); -irqreturn_t lpfc_intr_handler(int, void *, struct pt_regs *); +irqreturn_t lpfc_intr_handler(int, 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 70f4d5a1348..24a1779b9af 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -3119,7 +3119,7 @@ lpfc_sli_flush_mbox_queue(struct lpfc_hba * phba)  }  irqreturn_t -lpfc_intr_handler(int irq, void *dev_id, struct pt_regs * regs) +lpfc_intr_handler(int irq, void *dev_id)  {  	struct lpfc_hba *phba;  	uint32_t ha_copy; diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c index 6422de72bf4..753d88306cd 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 *, struct pt_regs *); -static irqreturn_t do_mac53c94_interrupt(int, void *, struct pt_regs *); +static void mac53c94_interrupt(int, void *); +static irqreturn_t do_mac53c94_interrupt(int, void *);  static void cmd_done(struct fsc_state *, int result);  static void set_dma_cmds(struct fsc_state *, struct scsi_cmnd *); @@ -177,18 +177,18 @@ static void mac53c94_start(struct fsc_state *state)  		set_dma_cmds(state, cmd);  } -static irqreturn_t do_mac53c94_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) +static irqreturn_t do_mac53c94_interrupt(int irq, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *dev = ((struct fsc_state *) dev_id)->current_req->device->host;  	spin_lock_irqsave(dev->host_lock, flags); -	mac53c94_interrupt(irq, dev_id, ptregs); +	mac53c94_interrupt(irq, dev_id);  	spin_unlock_irqrestore(dev->host_lock, flags);  	return IRQ_HANDLED;  } -static void mac53c94_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) +static void mac53c94_interrupt(int irq, 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 118206d68c6..3586fac9be9 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, struct pt_regs *pregs); +extern void mac_esp_intr(int irq, 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, struct pt_regs *pregs) +void mac_esp_intr(int irq, void *dev_id)  {  	struct NCR_ESP *esp = (struct NCR_ESP *) dev_id;  	int irq_p = 0; @@ -122,24 +122,24 @@ void mac_esp_intr(int irq, void *dev_id, struct pt_regs *pregs)   * acknowledge on the various machines   */ -void scsi_esp_polled(int irq, void *dev_id, struct pt_regs *pregs) +void scsi_esp_polled(int irq, void *dev_id)  {  	if (esp_initialized == 0)  		return; -	mac_esp_intr(irq, dev_id, pregs); +	mac_esp_intr(irq, dev_id);  } -void fake_intr(int irq, void *dev_id, struct pt_regs *pregs) +void fake_intr(int irq, void *dev_id)  {  #ifdef DEBUG_MAC_ESP  	printk("mac_esp: got irq\n");  #endif -	mac_esp_intr(irq, dev_id, pregs); +	mac_esp_intr(irq, dev_id);  } -irqreturn_t fake_drq(int irq, void *dev_id, struct pt_regs *pregs) +irqreturn_t fake_drq(int irq, 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 b87bef69ba0..86099fde1b2 100644 --- a/drivers/scsi/megaraid.c +++ b/drivers/scsi/megaraid.c @@ -1256,14 +1256,13 @@ bug_blocked_mailbox:   * megaraid_isr_iomapped()   * @irq - irq   * @devp - pointer to our soft state - * @regs - unused   *   * Interrupt service routine for io-mapped controllers.   * Find out if our device is interrupting. If yes, acknowledge the interrupt   * and service the completed commands.   */  static irqreturn_t -megaraid_isr_iomapped(int irq, void *devp, struct pt_regs *regs) +megaraid_isr_iomapped(int irq, void *devp)  {  	adapter_t	*adapter = devp;  	unsigned long	flags; @@ -1333,14 +1332,13 @@ megaraid_isr_iomapped(int irq, void *devp, struct pt_regs *regs)   * megaraid_isr_memmapped()   * @irq - irq   * @devp - pointer to our soft state - * @regs - unused   *   * Interrupt service routine for memory-mapped controllers.   * Find out if our device is interrupting. If yes, acknowledge the interrupt   * and service the completed commands.   */  static irqreturn_t -megaraid_isr_memmapped(int irq, void *devp, struct pt_regs *regs) +megaraid_isr_memmapped(int irq, void *devp)  {  	adapter_t	*adapter = devp;  	unsigned long	flags; diff --git a/drivers/scsi/megaraid.h b/drivers/scsi/megaraid.h index 4b75fe619d9..66529f11d23 100644 --- a/drivers/scsi/megaraid.h +++ b/drivers/scsi/megaraid.h @@ -991,8 +991,8 @@ static scb_t * mega_build_cmd(adapter_t *, Scsi_Cmnd *, int *);  static void __mega_runpendq(adapter_t *);  static int issue_scb_block(adapter_t *, u_char *); -static irqreturn_t megaraid_isr_memmapped(int, void *, struct pt_regs *); -static irqreturn_t megaraid_isr_iomapped(int, void *, struct pt_regs *); +static irqreturn_t megaraid_isr_memmapped(int, void *); +static irqreturn_t megaraid_isr_iomapped(int, 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 266b3910846..c0edb662d86 100644 --- a/drivers/scsi/megaraid/megaraid_mbox.c +++ b/drivers/scsi/megaraid/megaraid_mbox.c @@ -120,7 +120,7 @@ static void megaraid_mbox_prepare_pthru(adapter_t *, scb_t *,  static void megaraid_mbox_prepare_epthru(adapter_t *, scb_t *,  		struct scsi_cmnd *); -static irqreturn_t megaraid_isr(int, void *, struct pt_regs *); +static irqreturn_t megaraid_isr(int, void *);  static void megaraid_mbox_dpc(unsigned long); @@ -2231,7 +2231,7 @@ megaraid_ack_sequence(adapter_t *adapter)   * Interrupt service routine for memory-mapped mailbox controllers.   */  static irqreturn_t -megaraid_isr(int irq, void *devp, struct pt_regs *regs) +megaraid_isr(int irq, 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 977b6e8d852..7e4262f2af9 100644 --- a/drivers/scsi/megaraid/megaraid_sas.c +++ b/drivers/scsi/megaraid/megaraid_sas.c @@ -1293,7 +1293,7 @@ megasas_deplete_reply_queue(struct megasas_instance *instance, u8 alt_status)  /**   * megasas_isr - isr entry point   */ -static irqreturn_t megasas_isr(int irq, void *devp, struct pt_regs *regs) +static irqreturn_t megasas_isr(int irq, 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 683fc7ae4b8..c773e35dace 100644 --- a/drivers/scsi/mesh.c +++ b/drivers/scsi/mesh.c @@ -185,7 +185,7 @@ struct mesh_state {   * Driver is too messy, we need a few prototypes...   */  static void mesh_done(struct mesh_state *ms, int start_next); -static void mesh_interrupt(int irq, void *dev_id, struct pt_regs *ptregs); +static void mesh_interrupt(int irq, void *dev_id);  static void cmd_complete(struct mesh_state *ms);  static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd);  static void halt_dma(struct mesh_state *ms); @@ -1015,13 +1015,13 @@ 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, struct pt_regs *ptregs) +static irqreturn_t do_mesh_interrupt(int irq, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *dev = ((struct mesh_state *)dev_id)->host;  	spin_lock_irqsave(dev->host_lock, flags); -	mesh_interrupt(irq, dev_id, ptregs); +	mesh_interrupt(irq, dev_id);  	spin_unlock_irqrestore(dev->host_lock, flags);  	return IRQ_HANDLED;  } @@ -1661,7 +1661,7 @@ static int mesh_queue(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))   * handler (do_mesh_interrupt) or by other functions in   * exceptional circumstances   */ -static void mesh_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) +static void mesh_interrupt(int irq, void *dev_id)  {  	struct mesh_state *ms = (struct mesh_state *) dev_id;  	volatile struct mesh_regs __iomem *mr = ms->mesh; diff --git a/drivers/scsi/mvme147.c b/drivers/scsi/mvme147.c index 9b991b746d1..1ddd7a11a95 100644 --- a/drivers/scsi/mvme147.c +++ b/drivers/scsi/mvme147.c @@ -20,7 +20,7 @@  static struct Scsi_Host *mvme147_host = NULL; -static irqreturn_t mvme147_intr (int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t mvme147_intr (int irq, void *dummy)  {      if (irq == MVME147_IRQ_SCSI_PORT)  	wd33c93_intr (mvme147_host); diff --git a/drivers/scsi/mvme16x.h b/drivers/scsi/mvme16x.h index c7a12533fb2..73e33b37a3f 100644 --- a/drivers/scsi/mvme16x.h +++ b/drivers/scsi/mvme16x.h @@ -9,7 +9,7 @@ int NCR53c7xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));  int NCR53c7xx_abort(Scsi_Cmnd *);  int NCR53c7x0_release (struct Scsi_Host *);  int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int); -void NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); +void NCR53c7x0_intr(int irq, void *dev_id);  #ifndef CMD_PER_LUN  #define CMD_PER_LUN 3 diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c index b28712df0b7..6cc2bc2f62b 100644 --- a/drivers/scsi/ncr53c8xx.c +++ b/drivers/scsi/ncr53c8xx.c @@ -8111,7 +8111,7 @@ printk("ncr53c8xx : command successfully queued\n");       return sts;  } -irqreturn_t ncr53c8xx_intr(int irq, void *dev_id, struct pt_regs * regs) +irqreturn_t ncr53c8xx_intr(int irq, 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 78818b6684f..cb8b7701431 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 int ncr53c8xx_release(struct Scsi_Host *host); -irqreturn_t ncr53c8xx_intr(int irq, void *dev_id, struct pt_regs * regs); +irqreturn_t ncr53c8xx_intr(int irq, 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 1c624ce8189..7c13f6f4a4c 100644 --- a/drivers/scsi/nsp32.c +++ b/drivers/scsi/nsp32.c @@ -256,7 +256,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 *, struct pt_regs *); +static irqreturn_t do_nsp32_isr(int, void *);  /* initialize hardware */  static int  nsp32hw_init(nsp32_hw_data *); @@ -1201,7 +1201,7 @@ static int nsp32hw_init(nsp32_hw_data *data)  /* interrupt routine */ -static irqreturn_t do_nsp32_isr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t do_nsp32_isr(int irq, 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 053303d3611..b1d34604952 100644 --- a/drivers/scsi/pcmcia/nsp_cs.c +++ b/drivers/scsi/pcmcia/nsp_cs.c @@ -948,7 +948,7 @@ static int nsp_nexus(Scsi_Cmnd *SCpnt)  /*   * interrupt handler   */ -static irqreturn_t nspintr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t nspintr(int irq, 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 8908b8e5b78..a88714f4c05 100644 --- a/drivers/scsi/pcmcia/nsp_cs.h +++ b/drivers/scsi/pcmcia/nsp_cs.h @@ -346,7 +346,7 @@ static int  nsp_reselected       (Scsi_Cmnd *SCpnt);  static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht);  /* Interrupt handler */ -//static irqreturn_t nspintr(int irq, void *dev_id, struct pt_regs *regs); +//static irqreturn_t nspintr(int irq, 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 0b65099acb1..72fe5d055de 100644 --- a/drivers/scsi/pcmcia/sym53c500_cs.c +++ b/drivers/scsi/pcmcia/sym53c500_cs.c @@ -363,7 +363,7 @@ SYM53C500_pio_write(int fast_pio, int base, unsigned char *request, unsigned int  }  static irqreturn_t -SYM53C500_intr(int irq, void *dev_id, struct pt_regs *regs) +SYM53C500_intr(int irq, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *dev = dev_id; diff --git a/drivers/scsi/psi240i.c b/drivers/scsi/psi240i.c index 5c2cdf523c3..a720c9265e6 100644 --- a/drivers/scsi/psi240i.c +++ b/drivers/scsi/psi240i.c @@ -247,12 +247,11 @@ static ULONG DecodeError (struct Scsi_Host *pshost, UCHAR status)   *   *	Parameters:		irq		- Hardware IRQ number.   *					dev_id	- - *					regs	-   *   *	Returns:		TRUE if drive is not ready in time.   *   ****************************************************************/ -static void Irq_Handler (int irq, void *dev_id, struct pt_regs *regs) +static void Irq_Handler (int irq, void *dev_id)  	{  	struct Scsi_Host   *shost;			// Pointer to host data block  	PADAPTER240I		padapter;		// Pointer to adapter control structure @@ -368,13 +367,13 @@ irqerror:;  	SCpnt->scsi_done (SCpnt);  	} -static irqreturn_t do_Irq_Handler (int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t do_Irq_Handler (int irq, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *dev = dev_id;  	spin_lock_irqsave(dev->host_lock, flags); -	Irq_Handler(irq, dev_id, regs); +	Irq_Handler(irq, dev_id);  	spin_unlock_irqrestore(dev->host_lock, flags);  	return IRQ_HANDLED;  } diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c index 9f33e5946c0..2521d548dd5 100644 --- a/drivers/scsi/qla1280.c +++ b/drivers/scsi/qla1280.c @@ -1113,7 +1113,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, struct pt_regs *regs) +qla1280_intr_handler(int irq, void *dev_id)  {  	struct scsi_qla_host *ha;  	struct device_reg __iomem *reg; diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index c37a30aa214..bab33f6d0bd 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -2009,7 +2009,7 @@ struct isp_operations {  	char * (*pci_info_str) (struct scsi_qla_host *, char *);  	char * (*fw_version_str) (struct scsi_qla_host *, char *); -	irqreturn_t (*intr_handler) (int, void *, struct pt_regs *); +	irq_handler_t intr_handler;  	void (*enable_intrs) (struct scsi_qla_host *);  	void (*disable_intrs) (struct scsi_qla_host *); diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index bef7011378c..75138109b13 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h @@ -217,9 +217,9 @@ qla2x00_set_idma_speed(scsi_qla_host_t *, uint16_t, uint16_t, uint16_t *);  /*   * Global Function Prototypes in qla_isr.c source file.   */ -extern irqreturn_t qla2100_intr_handler(int, void *, struct pt_regs *); -extern irqreturn_t qla2300_intr_handler(int, void *, struct pt_regs *); -extern irqreturn_t qla24xx_intr_handler(int, void *, struct pt_regs *); +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 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 45007ee5806..d3023338628 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, NULL); +	ha->isp_ops.intr_handler(0, 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 5fa933cda99..626c7178a43 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -20,14 +20,13 @@ static void qla24xx_ms_entry(scsi_qla_host_t *, struct ct_entry_24xx *);   * qla2100_intr_handler() - Process interrupts for the ISP2100 and ISP2200.   * @irq:   * @dev_id: SCSI driver HA context - * @regs:   *   * Called by system whenever the host adapter generates an interrupt.   *   * Returns handled flag.   */  irqreturn_t -qla2100_intr_handler(int irq, void *dev_id, struct pt_regs *regs) +qla2100_intr_handler(int irq, void *dev_id)  {  	scsi_qla_host_t	*ha;  	struct device_reg_2xxx __iomem *reg; @@ -100,14 +99,13 @@ qla2100_intr_handler(int irq, void *dev_id, struct pt_regs *regs)   * qla2300_intr_handler() - Process interrupts for the ISP23xx and ISP63xx.   * @irq:   * @dev_id: SCSI driver HA context - * @regs:   *   * Called by system whenever the host adapter generates an interrupt.   *   * Returns handled flag.   */  irqreturn_t -qla2300_intr_handler(int irq, void *dev_id, struct pt_regs *regs) +qla2300_intr_handler(int irq, void *dev_id)  {  	scsi_qla_host_t	*ha;  	struct device_reg_2xxx __iomem *reg; @@ -1338,14 +1336,13 @@ qla24xx_process_response_queue(struct scsi_qla_host *ha)   * qla24xx_intr_handler() - Process interrupts for the ISP23xx and ISP63xx.   * @irq:   * @dev_id: SCSI driver HA context - * @regs:   *   * Called by system whenever the host adapter generates an interrupt.   *   * Returns handled flag.   */  irqreturn_t -qla24xx_intr_handler(int irq, void *dev_id, struct pt_regs *regs) +qla24xx_intr_handler(int irq, 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 418fb7a13a6..1de08002c43 100644 --- a/drivers/scsi/qla4xxx/ql4_glbl.h +++ b/drivers/scsi/qla4xxx/ql4_glbl.h @@ -13,7 +13,7 @@ int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb * srb);  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, struct pt_regs *regs); +irqreturn_t qla4xxx_intr_handler(int irq, 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 b584317608d..1e283321a59 100644 --- a/drivers/scsi/qla4xxx/ql4_isr.c +++ b/drivers/scsi/qla4xxx/ql4_isr.c @@ -610,9 +610,8 @@ void qla4xxx_interrupt_service_routine(struct scsi_qla_host * ha,   * qla4xxx_intr_handler - hardware interrupt handler.   * @irq: Unused   * @dev_id: Pointer to host adapter structure - * @regs: Unused   **/ -irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t qla4xxx_intr_handler(int irq, 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 52fb2ec3da7..1a7de3bd796 100644 --- a/drivers/scsi/qlogicfas408.c +++ b/drivers/scsi/qlogicfas408.c @@ -405,7 +405,7 @@ static unsigned int ql_pcmd(Scsi_Cmnd * cmd)   *	Interrupt handler    */ -static void ql_ihandl(int irq, void *dev_id, struct pt_regs *regs) +static void ql_ihandl(int irq, void *dev_id)  {  	Scsi_Cmnd *icmd;  	struct Scsi_Host *host = (struct Scsi_Host *)dev_id; @@ -432,13 +432,13 @@ static void ql_ihandl(int irq, void *dev_id, struct pt_regs *regs)  	(icmd->scsi_done) (icmd);  } -irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id)  {  	unsigned long flags;  	struct Scsi_Host *host = dev_id;  	spin_lock_irqsave(host->host_lock, flags); -	ql_ihandl(irq, dev_id, regs); +	ql_ihandl(irq, dev_id);  	spin_unlock_irqrestore(host->host_lock, flags);  	return IRQ_HANDLED;  } diff --git a/drivers/scsi/qlogicfas408.h b/drivers/scsi/qlogicfas408.h index 4b3df200366..8fd5555c75b 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, struct pt_regs *regs); +irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id);  int qlogicfas408_queuecommand(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *));  int qlogicfas408_biosparam(struct scsi_device * disk,  		        struct block_device *dev, diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c index 5b2f0741a55..ed58bb48988 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, struct pt_regs *regs); +static irqreturn_t qpti_intr(int irq, void *dev_id);  static void __init qpti_chain_add(struct qlogicpti *qpti)  { @@ -1297,7 +1297,7 @@ static struct scsi_cmnd *qlogicpti_intr_handler(struct qlogicpti *qpti)  	return done_queue;  } -static irqreturn_t qpti_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t qpti_intr(int irq, void *dev_id)  {  	struct qlogicpti *qpti = dev_id;  	unsigned long flags; diff --git a/drivers/scsi/seagate.c b/drivers/scsi/seagate.c index 4e6666ceae2..8ff1f2866f7 100644 --- a/drivers/scsi/seagate.c +++ b/drivers/scsi/seagate.c @@ -320,8 +320,8 @@ static Signature __initdata signatures[] = {   */  static int hostno = -1; -static void seagate_reconnect_intr (int, void *, struct pt_regs *); -static irqreturn_t do_seagate_reconnect_intr (int, void *, struct pt_regs *); +static void seagate_reconnect_intr (int, void *); +static irqreturn_t do_seagate_reconnect_intr (int, void *);  static int seagate_st0x_bus_reset(struct scsi_cmnd *);  #ifdef FAST @@ -619,19 +619,18 @@ static int should_reconnect = 0;   * asserting SEL.   */ -static irqreturn_t do_seagate_reconnect_intr(int irq, void *dev_id, -						struct pt_regs *regs) +static irqreturn_t do_seagate_reconnect_intr(int irq, 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, regs); +	seagate_reconnect_intr (irq, dev_id);  	spin_unlock_irqrestore (dev->host_lock, flags);  	return IRQ_HANDLED;  } -static void seagate_reconnect_intr (int irq, void *dev_id, struct pt_regs *regs) +static void seagate_reconnect_intr (int irq, void *dev_id)  {  	int temp;  	struct scsi_cmnd *SCtmp; diff --git a/drivers/scsi/sgiwd93.c b/drivers/scsi/sgiwd93.c index 4f1db6f2aae..e81f97a35bc 100644 --- a/drivers/scsi/sgiwd93.c +++ b/drivers/scsi/sgiwd93.c @@ -84,7 +84,7 @@ static inline unsigned long read_wd33c93_count(const wd33c93_regs regs)  	return value;  } -static irqreturn_t sgiwd93_intr(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sgiwd93_intr(int irq, void *dev_id)  {  	struct Scsi_Host * host = (struct Scsi_Host *) dev_id;  	unsigned long flags; diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index a54e6c1026b..185c270bb04 100644 --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c @@ -871,7 +871,7 @@ update_status:  	readl(base + IMR1); /* flush */  } -static irqreturn_t stex_intr(int irq, void *__hba, struct pt_regs *regs) +static irqreturn_t stex_intr(int irq, 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 7f9bcef6adf..5ec5af8e337 100644 --- a/drivers/scsi/sun3_NCR5380.c +++ b/drivers/scsi/sun3_NCR5380.c @@ -1252,7 +1252,7 @@ static void NCR5380_dma_complete( struct Scsi_Host *instance )   *   */ -static irqreturn_t NCR5380_intr (int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t NCR5380_intr (int irq, 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 44a99aeb818..e625b4c5833 100644 --- a/drivers/scsi/sun3_scsi.c +++ b/drivers/scsi/sun3_scsi.c @@ -102,7 +102,7 @@ static void NCR5380_print(struct Scsi_Host *instance);  #define	ENABLE_IRQ()	enable_irq( IRQ_SUN3_SCSI );  -static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp); +static irqreturn_t scsi_sun3_intr(int irq, void *dummy);  static inline unsigned char sun3scsi_read(int reg);  static inline void sun3scsi_write(int reg, int value); @@ -371,7 +371,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, struct pt_regs *fp) +static irqreturn_t scsi_sun3_intr(int irq, void *dummy)  {  	unsigned short csr = dregs->csr;  	int handled = 0; @@ -388,7 +388,7 @@ static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp)  	}  	if(csr & (CSR_SDB_INT | CSR_DMA_INT)) { -		NCR5380_intr(irq, dummy, fp); +		NCR5380_intr(irq, dummy);  		handled = 1;  	} diff --git a/drivers/scsi/sun3_scsi_vme.c b/drivers/scsi/sun3_scsi_vme.c index f5742b84b27..e8faab16567 100644 --- a/drivers/scsi/sun3_scsi_vme.c +++ b/drivers/scsi/sun3_scsi_vme.c @@ -67,7 +67,7 @@ extern int sun3_map_test(unsigned long, char *);  #define ENABLE_IRQ() -static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp); +static irqreturn_t scsi_sun3_intr(int irq, void *dummy);  static inline unsigned char sun3scsi_read(int reg);  static inline void sun3scsi_write(int reg, int value); @@ -340,7 +340,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, struct pt_regs *fp) +static irqreturn_t scsi_sun3_intr(int irq, void *dummy)  {  	unsigned short csr = dregs->csr;  	int handled = 0; @@ -371,7 +371,7 @@ static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp)  	}  	if(csr & (CSR_SDB_INT | CSR_DMA_INT)) { -		NCR5380_intr(irq, dummy, fp); +		NCR5380_intr(irq, dummy);  		handled = 1;  	} diff --git a/drivers/scsi/sym53c416.c b/drivers/scsi/sym53c416.c index 8640253d621..32c883f1efa 100644 --- a/drivers/scsi/sym53c416.c +++ b/drivers/scsi/sym53c416.c @@ -326,8 +326,7 @@ static __inline__ unsigned int sym53c416_write(int base, unsigned char *buffer,  	return orig_len - len;  } -static irqreturn_t sym53c416_intr_handle(int irq, void *dev_id, -					struct pt_regs *regs) +static irqreturn_t sym53c416_intr_handle(int irq, void *dev_id)  {  	struct Scsi_Host *dev = dev_id;  	int base = 0; diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c index 739d3ef46a4..4d78c7e87cc 100644 --- a/drivers/scsi/sym53c8xx_2/sym_glue.c +++ b/drivers/scsi/sym53c8xx_2/sym_glue.c @@ -652,7 +652,7 @@ static int sym53c8xx_queue_command(struct scsi_cmnd *cmd,  /*   *  Linux entry point of the interrupt handler.   */ -static irqreturn_t sym53c8xx_intr(int irq, void *dev_id, struct pt_regs * regs) +static irqreturn_t sym53c8xx_intr(int irq, 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 028d5f641cc..0f0ac925d31 100644 --- a/drivers/scsi/tmscsim.c +++ b/drivers/scsi/tmscsim.c @@ -700,7 +700,7 @@ dc390_InvalidCmd(struct dc390_acb* pACB)  static irqreturn_t __inline__ -DC390_Interrupt(int irq, void *dev_id, struct pt_regs *regs) +DC390_Interrupt(int irq, void *dev_id)  {      struct dc390_acb *pACB = (struct dc390_acb*)dev_id;      struct dc390_dcb *pDCB; @@ -811,12 +811,12 @@ DC390_Interrupt(int irq, void *dev_id, struct pt_regs *regs)      return IRQ_HANDLED;  } -static irqreturn_t do_DC390_Interrupt( int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t do_DC390_Interrupt( int irq, void *dev_id)  {      irqreturn_t ret;      DEBUG1(printk (KERN_INFO "DC390: Irq (%i) caught: ", irq));      /* Locking is done in DC390_Interrupt */ -    ret = DC390_Interrupt(irq, dev_id, regs); +    ret = DC390_Interrupt(irq, dev_id);      DEBUG1(printk (".. IRQ returned\n"));      return ret;  } diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c index 57449611e71..3de08a15de4 100644 --- a/drivers/scsi/u14-34f.c +++ b/drivers/scsi/u14-34f.c @@ -634,7 +634,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 *, struct pt_regs *); +static irqreturn_t do_interrupt_handler(int, void *);  static void flush_dev(struct scsi_device *, unsigned long, unsigned int, unsigned int);  static int do_trace = FALSE;  static int setup_done = FALSE; @@ -1932,8 +1932,7 @@ none:     return IRQ_NONE;  } -static irqreturn_t do_interrupt_handler(int irq, void *shap, -                                        struct pt_regs *regs) { +static irqreturn_t do_interrupt_handler(int irq, void *shap) {     unsigned int j;     unsigned long spin_flags;     irqreturn_t ret; diff --git a/drivers/scsi/ultrastor.c b/drivers/scsi/ultrastor.c index 0372aa9fa19..107f0fc3494 100644 --- a/drivers/scsi/ultrastor.c +++ b/drivers/scsi/ultrastor.c @@ -287,8 +287,8 @@ static const unsigned short ultrastor_ports_14f[] = {  };  #endif -static void ultrastor_interrupt(int, void *, struct pt_regs *); -static irqreturn_t do_ultrastor_interrupt(int, void *, struct pt_regs *); +static void ultrastor_interrupt(int, void *); +static irqreturn_t do_ultrastor_interrupt(int, void *);  static inline void build_sg_list(struct mscp *, struct scsi_cmnd *SCpnt); @@ -893,7 +893,7 @@ static int ultrastor_abort(struct scsi_cmnd *SCpnt)  	spin_lock_irqsave(host->host_lock, flags);  	/* FIXME: Ewww... need to think about passing host around properly */ -	ultrastor_interrupt(0, NULL, NULL); +	ultrastor_interrupt(0, NULL);  	spin_unlock_irqrestore(host->host_lock, flags);  	return SUCCESS;        } @@ -1039,7 +1039,7 @@ int ultrastor_biosparam(struct scsi_device *sdev, struct block_device *bdev,      return 0;  } -static void ultrastor_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static void ultrastor_interrupt(int irq, void *dev_id)  {      unsigned int status;  #if ULTRASTOR_MAX_CMDS > 1 @@ -1171,14 +1171,13 @@ static void ultrastor_interrupt(int irq, void *dev_id, struct pt_regs *regs)  #endif  } -static irqreturn_t do_ultrastor_interrupt(int irq, void *dev_id, -						struct pt_regs *regs) +static irqreturn_t do_ultrastor_interrupt(int irq, void *dev_id)  {      unsigned long flags;      struct Scsi_Host *dev = dev_id;      spin_lock_irqsave(dev->host_lock, flags); -    ultrastor_interrupt(irq, dev_id, regs); +    ultrastor_interrupt(irq, dev_id);      spin_unlock_irqrestore(dev->host_lock, flags);      return IRQ_HANDLED;  } diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c index a0b61af48f1..331e1cf159b 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, struct pt_regs *regs) +static irqreturn_t wd7000_intr(int irq, void *dev_id)  {  	Adapter *host = (Adapter *) dev_id;  	int flag, icmb, errstatus, icmb_status; diff --git a/drivers/serial/21285.c b/drivers/serial/21285.c index 76d83ade985..6a1a568ca64 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, struct pt_regs *regs) +static irqreturn_t serial21285_rx_chars(int irq, 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, struct pt_regs *r  	return IRQ_HANDLED;  } -static irqreturn_t serial21285_tx_chars(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t serial21285_tx_chars(int irq, 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 bac853c5abb..9b8b585513e 100644 --- a/drivers/serial/68328serial.c +++ b/drivers/serial/68328serial.c @@ -275,8 +275,7 @@ static void status_handle(struct m68k_serial *info, unsigned short status)  	return;  } -static void receive_chars(struct m68k_serial *info, struct pt_regs *regs, -			  unsigned short rx) +static void receive_chars(struct m68k_serial *info, unsigned short rx)  {  	struct tty_struct *tty = info->tty;  	m68328_uart *uart = &uart_addr[info->line]; @@ -377,7 +376,7 @@ clear_and_return:  /*   * This is the serial driver's generic interrupt routine   */ -irqreturn_t rs_interrupt(int irq, void *dev_id, struct pt_regs * regs) +irqreturn_t rs_interrupt(int irq, void *dev_id)  {  	struct m68k_serial * info;  	m68328_uart *uart; @@ -394,10 +393,10 @@ irqreturn_t rs_interrupt(int irq, void *dev_id, struct pt_regs * regs)  #ifdef USE_INTS  	tx = uart->utx.w; -	if (rx & URX_DATA_READY) receive_chars(info, regs, rx); +	if (rx & URX_DATA_READY) receive_chars(info, rx);  	if (tx & UTX_TX_AVAIL)   transmit_chars(info);  #else -	receive_chars(info, regs, rx);		 +	receive_chars(info, rx);		  #endif  	return IRQ_HANDLED;  } diff --git a/drivers/serial/68360serial.c b/drivers/serial/68360serial.c index 1b299e8c57c..4e56ec80386 100644 --- a/drivers/serial/68360serial.c +++ b/drivers/serial/68360serial.c @@ -612,7 +612,7 @@ static _INLINE_ void check_modem_status(struct async_struct *info)   * This is the serial driver's interrupt routine for a single port   */  /* static void rs_360_interrupt(void *dev_id) */ /* until and if we start servicing irqs here */ -static void rs_360_interrupt(int vec, void *dev_id, struct pt_regs *fp) +static void rs_360_interrupt(int vec, void *dev_id)  {  	u_char	events;  	int	idx; diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index cc2a205d423..e34bd03cfce 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -1175,7 +1175,7 @@ static void serial8250_enable_ms(struct uart_port *port)  }  static void -receive_chars(struct uart_8250_port *up, int *status, struct pt_regs *regs) +receive_chars(struct uart_8250_port *up, int *status)  {  	struct tty_struct *tty = up->port.info->tty;  	unsigned char ch, lsr = *status; @@ -1233,7 +1233,7 @@ receive_chars(struct uart_8250_port *up, int *status, struct pt_regs *regs)  			else if (lsr & UART_LSR_FE)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			goto ignore_char;  		uart_insert_char(&up->port, lsr, UART_LSR_OE, ch, flag); @@ -1309,7 +1309,7 @@ static unsigned int check_modem_status(struct uart_8250_port *up)   * This handles the interrupt from one port.   */  static inline void -serial8250_handle_port(struct uart_8250_port *up, struct pt_regs *regs) +serial8250_handle_port(struct uart_8250_port *up)  {  	unsigned int status; @@ -1320,7 +1320,7 @@ serial8250_handle_port(struct uart_8250_port *up, struct pt_regs *regs)  	DEBUG_INTR("status = %x...", status);  	if (status & UART_LSR_DR) -		receive_chars(up, &status, regs); +		receive_chars(up, &status);  	check_modem_status(up);  	if (status & UART_LSR_THRE)  		transmit_chars(up); @@ -1342,7 +1342,7 @@ serial8250_handle_port(struct uart_8250_port *up, struct pt_regs *regs)   * 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, struct pt_regs *regs) +static irqreturn_t serial8250_interrupt(int irq, void *dev_id)  {  	struct irq_info *i = dev_id;  	struct list_head *l, *end = NULL; @@ -1361,7 +1361,7 @@ static irqreturn_t serial8250_interrupt(int irq, void *dev_id, struct pt_regs *r  		iir = serial_in(up, UART_IIR);  		if (!(iir & UART_IIR_NO_INT)) { -			serial8250_handle_port(up, regs); +			serial8250_handle_port(up);  			handled = 1; @@ -1461,7 +1461,7 @@ static void serial8250_timeout(unsigned long data)  	iir = serial_in(up, UART_IIR);  	if (!(iir & UART_IIR_NO_INT)) -		serial8250_handle_port(up, NULL); +		serial8250_handle_port(up);  	timeout = up->port.timeout;  	timeout = timeout > 6 ? (timeout / 2 - 2) : 1; diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c index 7311d8487c9..4213fabc62b 100644 --- a/drivers/serial/amba-pl010.c +++ b/drivers/serial/amba-pl010.c @@ -111,12 +111,7 @@ static void pl010_enable_ms(struct uart_port *port)  	writel(cr, port->membase + UART010_CR);  } -static void -#ifdef SUPPORT_SYSRQ -pl010_rx_chars(struct uart_port *port, struct pt_regs *regs) -#else -pl010_rx_chars(struct uart_port *port) -#endif +static void pl010_rx_chars(struct uart_port *port)  {  	struct tty_struct *tty = port->info->tty;  	unsigned int status, ch, flag, rsr, max_count = 256; @@ -156,7 +151,7 @@ pl010_rx_chars(struct uart_port *port)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(port, ch, regs)) +		if (uart_handle_sysrq_char(port, ch))  			goto ignore_char;  		uart_insert_char(port, rsr, UART01x_RSR_OE, ch, flag); @@ -227,7 +222,7 @@ static void pl010_modem_status(struct uart_port *port)  	wake_up_interruptible(&uap->port.info->delta_msr_wait);  } -static irqreturn_t pl010_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t pl010_int(int irq, void *dev_id)  {  	struct uart_port *port = dev_id;  	unsigned int status, pass_counter = AMBA_ISR_PASS_LIMIT; @@ -239,11 +234,7 @@ static irqreturn_t pl010_int(int irq, void *dev_id, struct pt_regs *regs)  	if (status) {  		do {  			if (status & (UART010_IIR_RTIS | UART010_IIR_RIS)) -#ifdef SUPPORT_SYSRQ -				pl010_rx_chars(port, regs); -#else  				pl010_rx_chars(port); -#endif  			if (status & UART010_IIR_MIS)  				pl010_modem_status(port);  			if (status & UART010_IIR_TIS) diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index a8d7124e84a..d503625730d 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c @@ -107,12 +107,7 @@ static void pl011_enable_ms(struct uart_port *port)  	writew(uap->im, uap->port.membase + UART011_IMSC);  } -static void -#ifdef SUPPORT_SYSRQ -pl011_rx_chars(struct uart_amba_port *uap, struct pt_regs *regs) -#else -pl011_rx_chars(struct uart_amba_port *uap) -#endif +static void pl011_rx_chars(struct uart_amba_port *uap)  {  	struct tty_struct *tty = uap->port.info->tty;  	unsigned int status, ch, flag, max_count = 256; @@ -150,7 +145,7 @@ pl011_rx_chars(struct uart_amba_port *uap)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&uap->port, ch & 255, regs)) +		if (uart_handle_sysrq_char(&uap->port, ch & 255))  			goto ignore_char;  		uart_insert_char(&uap->port, ch, UART011_DR_OE, ch, flag); @@ -218,7 +213,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, struct pt_regs *regs) +static irqreturn_t pl011_int(int irq, void *dev_id)  {  	struct uart_amba_port *uap = dev_id;  	unsigned int status, pass_counter = AMBA_ISR_PASS_LIMIT; @@ -234,11 +229,7 @@ static irqreturn_t pl011_int(int irq, void *dev_id, struct pt_regs *regs)  			       uap->port.membase + UART011_ICR);  			if (status & (UART011_RTIS|UART011_RXIS)) -#ifdef SUPPORT_SYSRQ -				pl011_rx_chars(uap, regs); -#else  				pl011_rx_chars(uap); -#endif  			if (status & (UART011_DSRMIS|UART011_DCDMIS|  				      UART011_CTSMIS|UART011_RIMIS))  				pl011_modem_status(uap); diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c index 955c46da580..391a1f4167a 100644 --- a/drivers/serial/atmel_serial.c +++ b/drivers/serial/atmel_serial.c @@ -249,7 +249,7 @@ static void atmel_break_ctl(struct uart_port *port, int break_state)  /*   * Characters received (called from interrupt handler)   */ -static void atmel_rx_chars(struct uart_port *port, struct pt_regs *regs) +static void atmel_rx_chars(struct uart_port *port)  {  	struct tty_struct *tty = port->info->tty;  	unsigned int status, ch, flg; @@ -291,7 +291,7 @@ static void atmel_rx_chars(struct uart_port *port, struct pt_regs *regs)  				flg = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(port, ch, regs)) +		if (uart_handle_sysrq_char(port, ch))  			goto ignore_char;  		uart_insert_char(port, status, ATMEL_US_OVRE, ch, flg); @@ -339,7 +339,7 @@ static void atmel_tx_chars(struct uart_port *port)  /*   * Interrupt handler   */ -static irqreturn_t atmel_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t atmel_interrupt(int irq, void *dev_id)  {  	struct uart_port *port = dev_id;  	struct atmel_uart_port *atmel_port = (struct atmel_uart_port *) port; @@ -350,7 +350,7 @@ static irqreturn_t atmel_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	while (pending) {  		/* Interrupt receive */  		if (pending & ATMEL_US_RXRDY) -			atmel_rx_chars(port, regs); +			atmel_rx_chars(port);  		// TODO: All reads to CSR will clear these interrupts!  		if (pending & ATMEL_US_RIIC) port->icount.rng++; diff --git a/drivers/serial/clps711x.c b/drivers/serial/clps711x.c index f27d852ce50..59801271488 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, struct pt_regs *regs) +static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id)  {  	struct uart_port *port = dev_id;  	struct tty_struct *tty = port->info->tty; @@ -131,7 +131,7 @@ static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id, struct pt_regs *re  #endif  		} -		if (uart_handle_sysrq_char(port, ch, regs)) +		if (uart_handle_sysrq_char(port, ch))  			goto ignore_char;  		/* @@ -147,7 +147,7 @@ static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id, struct pt_regs *re  	return IRQ_HANDLED;  } -static irqreturn_t clps711xuart_int_tx(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t clps711xuart_int_tx(int irq, 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 a0d6136deb9..0abb544ae63 100644 --- a/drivers/serial/cpm_uart/cpm_uart_core.c +++ b/drivers/serial/cpm_uart/cpm_uart_core.c @@ -248,7 +248,7 @@ static void cpm_uart_break_ctl(struct uart_port *port, int break_state)  /*   * Transmit characters, refill buffer descriptor, if possible   */ -static void cpm_uart_int_tx(struct uart_port *port, struct pt_regs *regs) +static void cpm_uart_int_tx(struct uart_port *port)  {  	pr_debug("CPM uart[%d]:TX INT\n", port->line); @@ -258,7 +258,7 @@ static void cpm_uart_int_tx(struct uart_port *port, struct pt_regs *regs)  /*   * Receive characters   */ -static void cpm_uart_int_rx(struct uart_port *port, struct pt_regs *regs) +static void cpm_uart_int_rx(struct uart_port *port)  {  	int i;  	unsigned char ch, *cp; @@ -304,7 +304,7 @@ static void cpm_uart_int_rx(struct uart_port *port, struct pt_regs *regs)  			if (status &  			    (BD_SC_BR | BD_SC_FR | BD_SC_PR | BD_SC_OV))  				goto handle_error; -			if (uart_handle_sysrq_char(port, ch, regs)) +			if (uart_handle_sysrq_char(port, ch))  				continue;  		      error_return: @@ -373,7 +373,7 @@ static void cpm_uart_int_rx(struct uart_port *port, struct pt_regs *regs)  /*   * Asynchron mode interrupt handler   */ -static irqreturn_t cpm_uart_int(int irq, void *data, struct pt_regs *regs) +static irqreturn_t cpm_uart_int(int irq, void *data)  {  	u8 events;  	struct uart_port *port = (struct uart_port *)data; @@ -389,18 +389,18 @@ static irqreturn_t cpm_uart_int(int irq, void *data, struct pt_regs *regs)  		if (events & SMCM_BRKE)  			uart_handle_break(port);  		if (events & SMCM_RX) -			cpm_uart_int_rx(port, regs); +			cpm_uart_int_rx(port);  		if (events & SMCM_TX) -			cpm_uart_int_tx(port, regs); +			cpm_uart_int_tx(port);  	} else {  		events = sccp->scc_scce;  		sccp->scc_scce = events;  		if (events & UART_SCCM_BRKE)  			uart_handle_break(port);  		if (events & UART_SCCM_RX) -			cpm_uart_int_rx(port, regs); +			cpm_uart_int_rx(port);  		if (events & UART_SCCM_TX) -			cpm_uart_int_tx(port, regs); +			cpm_uart_int_tx(port);  	}  	return (events) ? IRQ_HANDLED : IRQ_NONE;  } diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c index 9851d9eff02..7a24e53546c 100644 --- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c @@ -2346,7 +2346,7 @@ start_receive(struct e100_serial *info)  */  static irqreturn_t -tr_interrupt(int irq, void *dev_id, struct pt_regs * regs) +tr_interrupt(int irq, void *dev_id)  {  	struct e100_serial *info;  	unsigned long ireg; @@ -2395,7 +2395,7 @@ tr_interrupt(int irq, void *dev_id, struct pt_regs * regs)  /* dma input channel interrupt handler */  static irqreturn_t -rec_interrupt(int irq, void *dev_id, struct pt_regs * regs) +rec_interrupt(int irq, void *dev_id)  {  	struct e100_serial *info;  	unsigned long ireg; @@ -3054,7 +3054,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, struct pt_regs *regs) +ser_interrupt(int irq, 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 8a98aae80e2..53662b33b84 100644 --- a/drivers/serial/dz.c +++ b/drivers/serial/dz.c @@ -339,7 +339,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, struct pt_regs *regs) +static irqreturn_t dz_interrupt(int irq, void *dev)  {  	struct dz_port *dport;  	unsigned short status; diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c index a3c00a25214..8aa0f641866 100644 --- a/drivers/serial/icom.c +++ b/drivers/serial/icom.c @@ -844,8 +844,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, -				  struct pt_regs *regs) +static irqreturn_t icom_interrupt(int irq, void *dev_id)  {  	void __iomem * int_reg;  	u32 adapter_interrupts; diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c index 4a142d6b8f3..ee5c782597d 100644 --- a/drivers/serial/imx.c +++ b/drivers/serial/imx.c @@ -182,7 +182,7 @@ static void imx_start_tx(struct uart_port *port)  		imx_transmit_buffer(sport);  } -static irqreturn_t imx_rtsint(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t imx_rtsint(int irq, void *dev_id)  {  	struct imx_port *sport = (struct imx_port *)dev_id;  	unsigned int val = USR1((u32)sport->port.membase)&USR1_RTSS; @@ -198,7 +198,7 @@ static irqreturn_t imx_rtsint(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t imx_txint(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t imx_txint(int irq, void *dev_id)  {  	struct imx_port *sport = (struct imx_port *)dev_id;  	struct circ_buf *xmit = &sport->port.info->xmit; @@ -227,7 +227,7 @@ out:  	return IRQ_HANDLED;  } -static irqreturn_t imx_rxint(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t imx_rxint(int irq, void *dev_id)  {  	struct imx_port *sport = dev_id;  	unsigned int rx,flg,ignored = 0; @@ -248,7 +248,7 @@ static irqreturn_t imx_rxint(int irq, void *dev_id, struct pt_regs *regs)  		}  		if (uart_handle_sysrq_char -		            (&sport->port, (unsigned char)rx, regs)) +		            (&sport->port, (unsigned char)rx))  			goto ignore_char;  		if( rx & (URXD_PRERR | URXD_OVRRUN | URXD_FRMERR) ) diff --git a/drivers/serial/ioc3_serial.c b/drivers/serial/ioc3_serial.c index 8097cd91f16..2308d26c862 100644 --- a/drivers/serial/ioc3_serial.c +++ b/drivers/serial/ioc3_serial.c @@ -1428,13 +1428,12 @@ static int receive_chars(struct uart_port *the_port)   * @is : submodule   * @idd: driver data   * @pending: interrupts to handle - * @regs: pt_regs   */  static int inline  ioc3uart_intr_one(struct ioc3_submodule *is,  			struct ioc3_driver_data *idd, -			unsigned int pending, struct pt_regs *regs) +			unsigned int pending)  {  	int port_num = GET_PORT_FROM_SIO_IR(pending);  	struct port_hooks *hooks; @@ -1628,13 +1627,12 @@ ioc3uart_intr_one(struct ioc3_submodule *is,   * @is : submodule   * @idd: driver data   * @pending: interrupts to handle - * @regs: pt_regs   *   */  static int ioc3uart_intr(struct ioc3_submodule *is,  			struct ioc3_driver_data *idd, -			unsigned int pending, struct pt_regs *regs) +			unsigned int pending)  {  	int ret = 0; @@ -1644,9 +1642,9 @@ static int ioc3uart_intr(struct ioc3_submodule *is,  	 */  	if (pending & SIO_IR_SA) -		ret |= ioc3uart_intr_one(is, idd, pending & SIO_IR_SA, regs); +		ret |= ioc3uart_intr_one(is, idd, pending & SIO_IR_SA);  	if (pending & SIO_IR_SB) -		ret |= ioc3uart_intr_one(is, idd, pending & SIO_IR_SB, regs); +		ret |= ioc3uart_intr_one(is, idd, pending & SIO_IR_SB);  	return ret;  } diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c index 5ec4716c99b..98ce88d8020 100644 --- a/drivers/serial/ioc4_serial.c +++ b/drivers/serial/ioc4_serial.c @@ -987,10 +987,9 @@ intr_connect(struct ioc4_soft *soft, int type,   * ioc4_intr - Top level IOC4 interrupt handler.   * @irq: irq value   * @arg: handler arg - * @regs: registers   */ -static irqreturn_t ioc4_intr(int irq, void *arg, struct pt_regs *regs) +static irqreturn_t ioc4_intr(int irq, 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 dbf13c03a1b..dca6c1bde8f 100644 --- a/drivers/serial/ip22zilog.c +++ b/drivers/serial/ip22zilog.c @@ -252,8 +252,7 @@ static void ip22zilog_maybe_update_regs(struct uart_ip22zilog_port *up,  }  static void ip22zilog_receive_chars(struct uart_ip22zilog_port *up, -				   struct zilog_channel *channel, -				   struct pt_regs *regs) +				   struct zilog_channel *channel)  {  	struct tty_struct *tty = up->port.info->tty;	/* XXX info==NULL? */ @@ -319,7 +318,7 @@ static void ip22zilog_receive_chars(struct uart_ip22zilog_port *up,  			else if (r1 & CRC_ERR)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			goto next_char;  		if (up->port.ignore_status_mask == 0xff || @@ -339,8 +338,7 @@ static void ip22zilog_receive_chars(struct uart_ip22zilog_port *up,  }  static void ip22zilog_status_handle(struct uart_ip22zilog_port *up, -				   struct zilog_channel *channel, -				   struct pt_regs *regs) +				   struct zilog_channel *channel)  {  	unsigned char status; @@ -443,7 +441,7 @@ ack_tx_int:  	ZS_WSYNC(channel);  } -static irqreturn_t ip22zilog_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ip22zilog_interrupt(int irq, void *dev_id)  {  	struct uart_ip22zilog_port *up = dev_id; @@ -462,9 +460,9 @@ static irqreturn_t ip22zilog_interrupt(int irq, void *dev_id, struct pt_regs *re  			ZS_WSYNC(channel);  			if (r3 & CHARxIP) -				ip22zilog_receive_chars(up, channel, regs); +				ip22zilog_receive_chars(up, channel);  			if (r3 & CHAEXT) -				ip22zilog_status_handle(up, channel, regs); +				ip22zilog_status_handle(up, channel);  			if (r3 & CHATxIP)  				ip22zilog_transmit_chars(up, channel);  		} @@ -481,9 +479,9 @@ static irqreturn_t ip22zilog_interrupt(int irq, void *dev_id, struct pt_regs *re  			ZS_WSYNC(channel);  			if (r3 & CHBRxIP) -				ip22zilog_receive_chars(up, channel, regs); +				ip22zilog_receive_chars(up, channel);  			if (r3 & CHBEXT) -				ip22zilog_status_handle(up, channel, regs); +				ip22zilog_status_handle(up, channel);  			if (r3 & CHBTxIP)  				ip22zilog_transmit_chars(up, channel);  		} diff --git a/drivers/serial/jsm/jsm.h b/drivers/serial/jsm/jsm.h index 043f50b1d10..12c934a1f27 100644 --- a/drivers/serial/jsm/jsm.h +++ b/drivers/serial/jsm/jsm.h @@ -99,7 +99,7 @@ struct jsm_channel;   * Per board operations structure					*   ************************************************************************/  struct board_ops { -	irqreturn_t (*intr) (int irq, void *voidbrd, struct pt_regs *regs); +	irq_handler_t intr;  	void (*uart_init) (struct jsm_channel *ch);  	void (*uart_off) (struct jsm_channel *ch);  	void (*param) (struct jsm_channel *ch); diff --git a/drivers/serial/jsm/jsm_neo.c b/drivers/serial/jsm/jsm_neo.c index a5fc589d6ef..8fa31e68989 100644 --- a/drivers/serial/jsm/jsm_neo.c +++ b/drivers/serial/jsm/jsm_neo.c @@ -1114,7 +1114,7 @@ static void neo_param(struct jsm_channel *ch)   *   * Neo specific interrupt handler.   */ -static irqreturn_t neo_intr(int irq, void *voidbrd, struct pt_regs *regs) +static irqreturn_t neo_intr(int irq, void *voidbrd)  {  	struct jsm_board *brd = (struct jsm_board *) voidbrd;  	struct jsm_channel *ch; diff --git a/drivers/serial/m32r_sio.c b/drivers/serial/m32r_sio.c index 28c9ce6f0bd..c85ac1a7760 100644 --- a/drivers/serial/m32r_sio.c +++ b/drivers/serial/m32r_sio.c @@ -323,8 +323,7 @@ static void m32r_sio_enable_ms(struct uart_port *port)  	serial_out(up, UART_IER, up->ier);  } -static void receive_chars(struct uart_sio_port *up, int *status, -			  struct pt_regs *regs) +static void receive_chars(struct uart_sio_port *up, int *status)  {  	struct tty_struct *tty = up->port.info->tty;  	unsigned char ch; @@ -378,7 +377,7 @@ static void receive_chars(struct uart_sio_port *up, int *status,  			else if (*status & UART_LSR_FE)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			goto ignore_char;  		if ((*status & up->port.ignore_status_mask) == 0)  			tty_insert_flip_char(tty, ch, flag); @@ -439,12 +438,12 @@ static void transmit_chars(struct uart_sio_port *up)   * This handles the interrupt from one port.   */  static inline void m32r_sio_handle_port(struct uart_sio_port *up, -	unsigned int status, struct pt_regs *regs) +	unsigned int status)  {  	DEBUG_INTR("status = %x...", status);  	if (status & 0x04) -		receive_chars(up, &status, regs); +		receive_chars(up, &status);  	if (status & 0x01)  		transmit_chars(up);  } @@ -463,8 +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, -	struct pt_regs *regs) +static irqreturn_t m32r_sio_interrupt(int irq, void *dev_id)  {  	struct irq_info *i = dev_id;  	struct list_head *l, *end = NULL; @@ -492,7 +490,7 @@ static irqreturn_t m32r_sio_interrupt(int irq, void *dev_id,  		sts = sio_in(up, SIOSTS);  		if (sts & 0x5) {  			spin_lock(&up->port.lock); -			m32r_sio_handle_port(up, sts, regs); +			m32r_sio_handle_port(up, sts);  			spin_unlock(&up->port.lock);  			end = NULL; diff --git a/drivers/serial/mcfserial.c b/drivers/serial/mcfserial.c index 00d7859c167..aee1b31f1a1 100644 --- a/drivers/serial/mcfserial.c +++ b/drivers/serial/mcfserial.c @@ -385,7 +385,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, struct pt_regs *regs) +irqreturn_t mcfrs_interrupt(int irq, 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 dbad0e31e00..039c2fd6d49 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c @@ -85,7 +85,7 @@ static struct uart_port mpc52xx_uart_ports[MPC52xx_PSC_MAXNUM];  /* Forward declaration of the interruption handling routine */ -static irqreturn_t mpc52xx_uart_int(int irq,void *dev_id,struct pt_regs *regs); +static irqreturn_t mpc52xx_uart_int(int irq,void *dev_id);  /* Simple macro to test if a port is console or not. This one is taken @@ -410,7 +410,7 @@ static struct uart_ops mpc52xx_uart_ops = {  /* ======================================================================== */  static inline int -mpc52xx_uart_int_rx_chars(struct uart_port *port, struct pt_regs *regs) +mpc52xx_uart_int_rx_chars(struct uart_port *port)  {  	struct tty_struct *tty = port->info->tty;  	unsigned char ch, flag; @@ -425,7 +425,7 @@ mpc52xx_uart_int_rx_chars(struct uart_port *port, struct pt_regs *regs)  		/* Handle sysreq char */  #ifdef SUPPORT_SYSRQ -		if (uart_handle_sysrq_char(port, ch, regs)) { +		if (uart_handle_sysrq_char(port, ch)) {  			port->sysrq = 0;  			continue;  		} @@ -510,7 +510,7 @@ mpc52xx_uart_int_tx_chars(struct uart_port *port)  }  static irqreturn_t  -mpc52xx_uart_int(int irq, void *dev_id, struct pt_regs *regs) +mpc52xx_uart_int(int irq, void *dev_id)  {  	struct uart_port *port = (struct uart_port *) dev_id;  	unsigned long pass = ISR_PASS_LIMIT; @@ -539,7 +539,7 @@ mpc52xx_uart_int(int irq, void *dev_id, struct pt_regs *regs)  		/* Do we need to receive chars ? */  		/* For this RX interrupts must be on and some chars waiting */  		if ( status & MPC52xx_PSC_IMR_RXRDY ) -			keepgoing |= mpc52xx_uart_int_rx_chars(port, regs); +			keepgoing |= mpc52xx_uart_int_rx_chars(port);  		/* Do we need to send chars ? */  		/* For this, TX must be ready and TX interrupt enabled */ diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c index 704243c9f78..8eea69f2998 100644 --- a/drivers/serial/mpsc.c +++ b/drivers/serial/mpsc.c @@ -992,7 +992,7 @@ mpsc_make_ready(struct mpsc_port_info *pi)   */  static inline int -mpsc_rx_intr(struct mpsc_port_info *pi, struct pt_regs *regs) +mpsc_rx_intr(struct mpsc_port_info *pi)  {  	struct mpsc_rx_desc *rxre;  	struct tty_struct *tty = pi->port.info->tty; @@ -1072,7 +1072,7 @@ mpsc_rx_intr(struct mpsc_port_info *pi, struct pt_regs *regs)  				flag = TTY_PARITY;  		} -		if (uart_handle_sysrq_char(&pi->port, *bp, regs)) { +		if (uart_handle_sysrq_char(&pi->port, *bp)) {  			bp++;  			bytes_in--;  			goto next_frame; @@ -1257,7 +1257,7 @@ mpsc_tx_intr(struct mpsc_port_info *pi)   * handling those descriptors, we restart the Rx/Tx engines if they're stopped.   */  static irqreturn_t -mpsc_sdma_intr(int irq, void *dev_id, struct pt_regs *regs) +mpsc_sdma_intr(int irq, void *dev_id)  {  	struct mpsc_port_info *pi = dev_id;  	ulong iflags; @@ -1267,7 +1267,7 @@ mpsc_sdma_intr(int irq, void *dev_id, struct pt_regs *regs)  	spin_lock_irqsave(&pi->port.lock, iflags);  	mpsc_sdma_intr_ack(pi); -	if (mpsc_rx_intr(pi, regs)) +	if (mpsc_rx_intr(pi))  		rc = IRQ_HANDLED;  	if (mpsc_tx_intr(pi))  		rc = IRQ_HANDLED; diff --git a/drivers/serial/netx-serial.c b/drivers/serial/netx-serial.c index 7502109d37f..e92d7e1c22c 100644 --- a/drivers/serial/netx-serial.c +++ b/drivers/serial/netx-serial.c @@ -200,7 +200,7 @@ static void netx_txint(struct uart_port *port)  		uart_write_wakeup(port);  } -static void netx_rxint(struct uart_port *port, struct pt_regs *regs) +static void netx_rxint(struct uart_port *port)  {  	unsigned char rx, flg, status;  	struct tty_struct *tty = port->info->tty; @@ -235,7 +235,7 @@ static void netx_rxint(struct uart_port *port, struct pt_regs *regs)  				flg = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(port, rx, regs)) +		if (uart_handle_sysrq_char(port, rx))  			continue;  		uart_insert_char(port, status, SR_OE, rx, flg); @@ -245,7 +245,7 @@ static void netx_rxint(struct uart_port *port, struct pt_regs *regs)  	return;  } -static irqreturn_t netx_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t netx_int(int irq, void *dev_id)  {  	struct uart_port *port = (struct uart_port *)dev_id;  	unsigned long flags; @@ -256,7 +256,7 @@ static irqreturn_t netx_int(int irq, void *dev_id, struct pt_regs *regs)  	status = readl(port->membase + UART_IIR) & IIR_MASK;  	while (status) {  		if (status & IIR_RIS) -			netx_rxint(port, regs); +			netx_rxint(port);  		if (status & IIR_TIS)  			netx_txint(port);  		if (status & IIR_MIS) { diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c index a3b99caf80e..bf9809ed9c0 100644 --- a/drivers/serial/pmac_zilog.c +++ b/drivers/serial/pmac_zilog.c @@ -204,8 +204,7 @@ static void pmz_maybe_update_regs(struct uart_pmac_port *uap)  	}  } -static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap, -					    struct pt_regs *regs) +static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap)  {  	struct tty_struct *tty = NULL;  	unsigned char ch, r1, drop, error, flag; @@ -267,7 +266,7 @@ static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap,  		if (uap->port.sysrq) {  			int swallow;  			spin_unlock(&uap->port.lock); -			swallow = uart_handle_sysrq_char(&uap->port, ch, regs); +			swallow = uart_handle_sysrq_char(&uap->port, ch);  			spin_lock(&uap->port.lock);  			if (swallow)  				goto next_char; @@ -335,7 +334,7 @@ static struct tty_struct *pmz_receive_chars(struct uart_pmac_port *uap,  	return tty;  } -static void pmz_status_handle(struct uart_pmac_port *uap, struct pt_regs *regs) +static void pmz_status_handle(struct uart_pmac_port *uap)  {  	unsigned char status; @@ -438,7 +437,7 @@ ack_tx_int:  }  /* Hrm... we register that twice, fixme later.... */ -static irqreturn_t pmz_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t pmz_interrupt(int irq, void *dev_id)  {  	struct uart_pmac_port *uap = dev_id;  	struct uart_pmac_port *uap_a; @@ -462,9 +461,9 @@ static irqreturn_t pmz_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		write_zsreg(uap_a, R0, RES_H_IUS);  		zssync(uap_a);		         		if (r3 & CHAEXT) -       			pmz_status_handle(uap_a, regs); +       			pmz_status_handle(uap_a);  		if (r3 & CHARxIP) -			tty = pmz_receive_chars(uap_a, regs); +			tty = pmz_receive_chars(uap_a);         		if (r3 & CHATxIP)         			pmz_transmit_chars(uap_a);  	        rc = IRQ_HANDLED; @@ -482,9 +481,9 @@ static irqreturn_t pmz_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		write_zsreg(uap_b, R0, RES_H_IUS);  		zssync(uap_b);         		if (r3 & CHBEXT) -       			pmz_status_handle(uap_b, regs); +       			pmz_status_handle(uap_b);         	       	if (r3 & CHBRxIP) -       			tty = pmz_receive_chars(uap_b, regs); +       			tty = pmz_receive_chars(uap_b);         		if (r3 & CHBTxIP)         			pmz_transmit_chars(uap_b);  	       	rc = IRQ_HANDLED; diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c index a720953a404..846089f222d 100644 --- a/drivers/serial/pxa.c +++ b/drivers/serial/pxa.c @@ -98,8 +98,7 @@ static void serial_pxa_stop_rx(struct uart_port *port)  	serial_out(up, UART_IER, up->ier);  } -static inline void -receive_chars(struct uart_pxa_port *up, int *status, struct pt_regs *regs) +static inline void receive_chars(struct uart_pxa_port *up, int *status)  {  	struct tty_struct *tty = up->port.info->tty;  	unsigned int ch, flag; @@ -153,7 +152,7 @@ receive_chars(struct uart_pxa_port *up, int *status, struct pt_regs *regs)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			goto ignore_char;  		uart_insert_char(&up->port, *status, UART_LSR_OE, ch, flag); @@ -231,8 +230,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, struct pt_regs *regs) +static inline irqreturn_t serial_pxa_irq(int irq, void *dev_id)  {  	struct uart_pxa_port *up = (struct uart_pxa_port *)dev_id;  	unsigned int iir, lsr; @@ -242,7 +240,7 @@ serial_pxa_irq(int irq, void *dev_id, struct pt_regs *regs)  		return IRQ_NONE;  	lsr = serial_in(up, UART_LSR);  	if (lsr & UART_LSR_DR) -		receive_chars(up, &lsr, regs); +		receive_chars(up, &lsr);  	check_modem_status(up);  	if (lsr & UART_LSR_THRE)  		transmit_chars(up); diff --git a/drivers/serial/s3c2410.c b/drivers/serial/s3c2410.c index 95738a19cde..8dfc2dd058c 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, struct pt_regs *regs) +s3c24xx_serial_rx_chars(int irq, void *dev_id)  {  	struct s3c24xx_uart_port *ourport = dev_id;  	struct uart_port *port = &ourport->port; @@ -379,7 +379,7 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id, struct pt_regs *regs)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(port, ch, regs)) +		if (uart_handle_sysrq_char(port, ch))  			goto ignore_char;  		uart_insert_char(port, uerstat, S3C2410_UERSTAT_OVERRUN, ch, flag); @@ -393,7 +393,7 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t s3c24xx_serial_tx_chars(int irq, void *id, struct pt_regs *regs) +static irqreturn_t s3c24xx_serial_tx_chars(int irq, 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 db3486d3387..d4065266b6f 100644 --- a/drivers/serial/sa1100.c +++ b/drivers/serial/sa1100.c @@ -190,7 +190,7 @@ static void sa1100_enable_ms(struct uart_port *port)  }  static void -sa1100_rx_chars(struct sa1100_port *sport, struct pt_regs *regs) +sa1100_rx_chars(struct sa1100_port *sport)  {  	struct tty_struct *tty = sport->port.info->tty;  	unsigned int status, ch, flg; @@ -228,7 +228,7 @@ sa1100_rx_chars(struct sa1100_port *sport, struct pt_regs *regs)  #endif  		} -		if (uart_handle_sysrq_char(&sport->port, ch, regs)) +		if (uart_handle_sysrq_char(&sport->port, ch))  			goto ignore_char;  		uart_insert_char(&sport->port, status, UTSR1_TO_SM(UTSR1_ROR), ch, flg); @@ -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, struct pt_regs *regs) +static irqreturn_t sa1100_int(int irq, void *dev_id)  {  	struct sa1100_port *sport = dev_id;  	unsigned int status, pass_counter = 0; @@ -294,7 +294,7 @@ static irqreturn_t sa1100_int(int irq, void *dev_id, struct pt_regs *regs)  			/* Clear the receiver idle bit, if set */  			if (status & UTSR0_RID)  				UART_PUT_UTSR0(sport, UTSR0_RID); -			sa1100_rx_chars(sport, regs); +			sa1100_rx_chars(sport);  		}  		/* Clear the relevant break bits */ diff --git a/drivers/serial/serial_lh7a40x.c b/drivers/serial/serial_lh7a40x.c index 23ddedbaec0..5e1ac356bbb 100644 --- a/drivers/serial/serial_lh7a40x.c +++ b/drivers/serial/serial_lh7a40x.c @@ -135,12 +135,7 @@ static void lh7a40xuart_enable_ms (struct uart_port* port)  	BIT_SET (port, UART_R_INTEN, ModemInt);  } -static void -#ifdef SUPPORT_SYSRQ -lh7a40xuart_rx_chars (struct uart_port* port, struct pt_regs* regs) -#else -lh7a40xuart_rx_chars (struct uart_port* port) -#endif +static void lh7a40xuart_rx_chars (struct uart_port* port)  {  	struct tty_struct* tty = port->info->tty;  	int cbRxMax = 256;	/* (Gross) limit on receive */ @@ -177,7 +172,7 @@ lh7a40xuart_rx_chars (struct uart_port* port)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char (port, (unsigned char) data, regs)) +		if (uart_handle_sysrq_char (port, (unsigned char) data))  			continue;  		uart_insert_char(port, data, RxOverrunError, data, flag); @@ -248,8 +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, -				    struct pt_regs* regs) +static irqreturn_t lh7a40xuart_int (int irq, void* dev_id)  {  	struct uart_port* port = dev_id;  	unsigned int cLoopLimit = ISR_LOOP_LIMIT; @@ -258,11 +252,7 @@ static irqreturn_t lh7a40xuart_int (int irq, void* dev_id,  	do {  		if (isr & (RxInt | RxTimeoutInt)) -#ifdef SUPPORT_SYSRQ -			lh7a40xuart_rx_chars(port, regs); -#else  			lh7a40xuart_rx_chars(port); -#endif  		if (isr & ModemInt)  			lh7a40xuart_modem_status (port);  		if (isr & TxInt) diff --git a/drivers/serial/serial_txx9.c b/drivers/serial/serial_txx9.c index ebd8d2bb17f..2a48289ac72 100644 --- a/drivers/serial/serial_txx9.c +++ b/drivers/serial/serial_txx9.c @@ -283,7 +283,7 @@ static void serial_txx9_enable_ms(struct uart_port *port)  }  static inline void -receive_chars(struct uart_txx9_port *up, unsigned int *status, struct pt_regs *regs) +receive_chars(struct uart_txx9_port *up, unsigned int *status)  {  	struct tty_struct *tty = up->port.info->tty;  	unsigned char ch; @@ -344,7 +344,7 @@ receive_chars(struct uart_txx9_port *up, unsigned int *status, struct pt_regs *r  			else if (disr & TXX9_SIDISR_UFER)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			goto ignore_char;  		uart_insert_char(&up->port, disr, TXX9_SIDISR_UOER, ch, flag); @@ -391,7 +391,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, struct pt_regs *regs) +static irqreturn_t serial_txx9_interrupt(int irq, void *dev_id)  {  	int pass_counter = 0;  	struct uart_txx9_port *up = dev_id; @@ -409,7 +409,7 @@ static irqreturn_t serial_txx9_interrupt(int irq, void *dev_id, struct pt_regs *  		}  		if (status & TXX9_SIDISR_RDIS) -			receive_chars(up, &status, regs); +			receive_chars(up, &status);  		if (status & TXX9_SIDISR_TDIS)  			transmit_chars(up);  		/* Clear TX/RX Int. Status */ diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c index 5c025d1190c..266aa325569 100644 --- a/drivers/serial/sh-sci.c +++ b/drivers/serial/sh-sci.c @@ -446,8 +446,7 @@ static void sci_transmit_chars(struct uart_port *port)  /* On SH3, SCIF may read end-of-break as a space->mark char */  #define STEPFN(c)  ({int __c=(c); (((__c-1)|(__c)) == -1); }) -static inline void sci_receive_chars(struct uart_port *port, -				     struct pt_regs *regs) +static inline void sci_receive_chars(struct uart_port *port)  {  	struct sci_port *sci_port = (struct sci_port *)port;  	struct tty_struct *tty = port->info->tty; @@ -476,7 +475,7 @@ static inline void sci_receive_chars(struct uart_port *port,  		if (port->type == PORT_SCI) {  			char c = sci_in(port, SCxRDR); -			if (uart_handle_sysrq_char(port, c, regs) || sci_port->break_flag) +			if (uart_handle_sysrq_char(port, c) || sci_port->break_flag)  				count = 0;  			else {  				tty_insert_flip_char(tty, c, TTY_NORMAL); @@ -504,7 +503,7 @@ static inline void sci_receive_chars(struct uart_port *port,  					}  				}  #endif /* CONFIG_CPU_SH3 */ -				if (uart_handle_sysrq_char(port, c, regs)) { +				if (uart_handle_sysrq_char(port, c)) {  					count--; i--;  					continue;  				} @@ -652,18 +651,18 @@ static inline int sci_handle_breaks(struct uart_port *port)  	return copied;  } -static irqreturn_t sci_rx_interrupt(int irq, void *port, struct pt_regs *regs) +static irqreturn_t sci_rx_interrupt(int irq, void *port)  {  	/* I think sci_receive_chars has to be called irrespective  	 * of whether the I_IXOFF is set, otherwise, how is the interrupt  	 * to be disabled?  	 */ -	sci_receive_chars(port, regs); +	sci_receive_chars(port);  	return IRQ_HANDLED;  } -static irqreturn_t sci_tx_interrupt(int irq, void *ptr, struct pt_regs *regs) +static irqreturn_t sci_tx_interrupt(int irq, void *ptr)  {  	struct uart_port *port = ptr; @@ -674,7 +673,7 @@ static irqreturn_t sci_tx_interrupt(int irq, void *ptr, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t sci_er_interrupt(int irq, void *ptr, struct pt_regs *regs) +static irqreturn_t sci_er_interrupt(int irq, void *ptr)  {  	struct uart_port *port = ptr; @@ -696,18 +695,18 @@ static irqreturn_t sci_er_interrupt(int irq, void *ptr, struct pt_regs *regs)  			pr_debug("scif: overrun error\n");  		}  #endif -		sci_rx_interrupt(irq, ptr, regs); +		sci_rx_interrupt(irq, ptr);  	}  	sci_out(port, SCxSR, SCxSR_ERROR_CLEAR(port));  	/* Kick the transmission */ -	sci_tx_interrupt(irq, ptr, regs); +	sci_tx_interrupt(irq, ptr);  	return IRQ_HANDLED;  } -static irqreturn_t sci_br_interrupt(int irq, void *ptr, struct pt_regs *regs) +static irqreturn_t sci_br_interrupt(int irq, void *ptr)  {  	struct uart_port *port = ptr; @@ -724,7 +723,7 @@ static irqreturn_t sci_br_interrupt(int irq, void *ptr, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr, struct pt_regs *regs) +static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr)  {          unsigned short ssr_status, scr_status;          struct uart_port *port = ptr; @@ -734,16 +733,16 @@ static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr, struct pt_regs *regs)  	/* Tx Interrupt */          if ((ssr_status & 0x0020) && (scr_status & 0x0080)) -                sci_tx_interrupt(irq, ptr, regs); +                sci_tx_interrupt(irq, ptr);  	/* Rx Interrupt */          if ((ssr_status & 0x0002) && (scr_status & 0x0040)) -                sci_rx_interrupt(irq, ptr, regs); +                sci_rx_interrupt(irq, ptr);  	/* Error Interrupt */          if ((ssr_status & 0x0080) && (scr_status & 0x0400)) -                sci_er_interrupt(irq, ptr, regs); +                sci_er_interrupt(irq, ptr);  	/* Break Interrupt */          if ((ssr_status & 0x0010) && (scr_status & 0x0200)) -                sci_br_interrupt(irq, ptr, regs); +                sci_br_interrupt(irq, ptr);  	return IRQ_HANDLED;  } @@ -795,7 +794,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, struct pt_regs *regs) = { +	irqreturn_t (*handlers[4])(int irq, 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 2f148e5b925..709f93a6c18 100644 --- a/drivers/serial/sn_console.c +++ b/drivers/serial/sn_console.c @@ -447,7 +447,6 @@ static int sn_debug_printf(const char *fmt, ...)  /**   * sn_receive_chars - Grab characters, pass them to tty layer   * @port: Port to operate on - * @regs: Saved registers (needed by uart_handle_sysrq_char)   * @flags: irq flags   *   * Note: If we're not registered with the serial core infrastructure yet, @@ -455,8 +454,7 @@ static int sn_debug_printf(const char *fmt, ...)   *   */  static void -sn_receive_chars(struct sn_cons_port *port, struct pt_regs *regs, -		 unsigned long flags) +sn_receive_chars(struct sn_cons_port *port, unsigned long flags)  {  	int ch;  	struct tty_struct *tty; @@ -494,7 +492,7 @@ sn_receive_chars(struct sn_cons_port *port, struct pt_regs *regs,                          sysrq_requested = 0;                          if (ch && time_before(jiffies, sysrq_timeout)) {                                  spin_unlock_irqrestore(&port->sc_port.lock, flags); -                                handle_sysrq(ch, regs, NULL); +                                handle_sysrq(ch, NULL);                                  spin_lock_irqsave(&port->sc_port.lock, flags);                                  /* ignore actual sysrq command char */                                  continue; @@ -615,10 +613,9 @@ static void sn_transmit_chars(struct sn_cons_port *port, int raw)   * sn_sal_interrupt - Handle console interrupts   * @irq: irq #, useful for debug statements   * @dev_id: our pointer to our port (sn_cons_port which contains the uart port) - * @regs: Saved registers, used by sn_receive_chars for uart_handle_sysrq_char   *   */ -static irqreturn_t sn_sal_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sn_sal_interrupt(int irq, void *dev_id)  {  	struct sn_cons_port *port = (struct sn_cons_port *)dev_id;  	unsigned long flags; @@ -629,7 +626,7 @@ static irqreturn_t sn_sal_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	spin_lock_irqsave(&port->sc_port.lock, flags);  	if (status & SAL_CONSOLE_INTR_RECV) { -		sn_receive_chars(port, regs, flags); +		sn_receive_chars(port, flags);  	}  	if (status & SAL_CONSOLE_INTR_XMIT) {  		sn_transmit_chars(port, TRANSMIT_BUFFERED); diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c index f851f0f44f9..03941d27d15 100644 --- a/drivers/serial/sunhv.c +++ b/drivers/serial/sunhv.c @@ -73,7 +73,7 @@ static inline long hypervisor_con_putchar(long ch)  static int hung_up = 0; -static struct tty_struct *receive_chars(struct uart_port *port, struct pt_regs *regs) +static struct tty_struct *receive_chars(struct uart_port *port)  {  	struct tty_struct *tty = NULL;  	int saw_console_brk = 0; @@ -106,7 +106,7 @@ static struct tty_struct *receive_chars(struct uart_port *port, struct pt_regs *  		}  		if (tty == NULL) { -			uart_handle_sysrq_char(port, c, regs); +			uart_handle_sysrq_char(port, c);  			continue;  		} @@ -119,7 +119,7 @@ static struct tty_struct *receive_chars(struct uart_port *port, struct pt_regs *  			flag = TTY_BREAK;  		} -		if (uart_handle_sysrq_char(port, c, regs)) +		if (uart_handle_sysrq_char(port, c))  			continue;  		if ((port->ignore_status_mask & IGNORE_ALL) || @@ -161,14 +161,14 @@ static void transmit_chars(struct uart_port *port)  		uart_write_wakeup(port);  } -static irqreturn_t sunhv_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sunhv_interrupt(int irq, void *dev_id)  {  	struct uart_port *port = dev_id;  	struct tty_struct *tty;  	unsigned long flags;  	spin_lock_irqsave(&port->lock, flags); -	tty = receive_chars(port, regs); +	tty = receive_chars(port);  	transmit_chars(port);  	spin_unlock_irqrestore(&port->lock, flags); diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c index cfe20f73043..08a7cd6a3a0 100644 --- a/drivers/serial/sunsab.c +++ b/drivers/serial/sunsab.c @@ -108,8 +108,7 @@ static __inline__ void sunsab_cec_wait(struct uart_sunsab_port *up)  static struct tty_struct *  receive_chars(struct uart_sunsab_port *up, -	      union sab82532_irq_status *stat, -	      struct pt_regs *regs) +	      union sab82532_irq_status *stat)  {  	struct tty_struct *tty = NULL;  	unsigned char buf[32]; @@ -161,7 +160,7 @@ receive_chars(struct uart_sunsab_port *up,  		unsigned char ch = buf[i], flag;  		if (tty == NULL) { -			uart_handle_sysrq_char(&up->port, ch, regs); +			uart_handle_sysrq_char(&up->port, ch);  			continue;  		} @@ -208,7 +207,7 @@ receive_chars(struct uart_sunsab_port *up,  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			continue;  		if ((stat->sreg.isr0 & (up->port.ignore_status_mask & 0xff)) == 0 && @@ -301,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, struct pt_regs *regs) +static irqreturn_t sunsab_interrupt(int irq, void *dev_id)  {  	struct uart_sunsab_port *up = dev_id;  	struct tty_struct *tty; @@ -321,7 +320,7 @@ static irqreturn_t sunsab_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		if ((status.sreg.isr0 & (SAB82532_ISR0_TCD | SAB82532_ISR0_TIME |  					 SAB82532_ISR0_RFO | SAB82532_ISR0_RPF)) ||  		    (status.sreg.isr1 & SAB82532_ISR1_BRK)) -			tty = receive_chars(up, &status, regs); +			tty = receive_chars(up, &status);  		if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) ||  		    (status.sreg.isr1 & SAB82532_ISR1_CSC))  			check_status(up, &status); @@ -350,7 +349,7 @@ static irqreturn_t sunsab_interrupt(int irq, void *dev_id, struct pt_regs *regs)  					 SAB82532_ISR0_RFO | SAB82532_ISR0_RPF)) ||  		    (status.sreg.isr1 & SAB82532_ISR1_BRK)) -			tty = receive_chars(up, &status, regs); +			tty = receive_chars(up, &status);  		if ((status.sreg.isr0 & SAB82532_ISR0_CDSC) ||  		    (status.sreg.isr1 & (SAB82532_ISR1_BRK | SAB82532_ISR1_CSC)))  			check_status(up, &status); diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c index 9b3b9aaa6b9..c577faea60e 100644 --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c @@ -310,7 +310,7 @@ static void sunsu_enable_ms(struct uart_port *port)  }  static struct tty_struct * -receive_chars(struct uart_sunsu_port *up, unsigned char *status, struct pt_regs *regs) +receive_chars(struct uart_sunsu_port *up, unsigned char *status)  {  	struct tty_struct *tty = up->port.info->tty;  	unsigned char ch, flag; @@ -367,7 +367,7 @@ receive_chars(struct uart_sunsu_port *up, unsigned char *status, struct pt_regs  			else if (*status & UART_LSR_FE)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			goto ignore_char;  		if ((*status & up->port.ignore_status_mask) == 0)  			tty_insert_flip_char(tty, ch, flag); @@ -445,7 +445,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, struct pt_regs *regs) +static irqreturn_t sunsu_serial_interrupt(int irq, void *dev_id)  {  	struct uart_sunsu_port *up = dev_id;  	unsigned long flags; @@ -459,7 +459,7 @@ static irqreturn_t sunsu_serial_interrupt(int irq, void *dev_id, struct pt_regs  		status = serial_inp(up, UART_LSR);  		tty = NULL;  		if (status & UART_LSR_DR) -			tty = receive_chars(up, &status, regs); +			tty = receive_chars(up, &status);  		check_modem_status(up);  		if (status & UART_LSR_THRE)  			transmit_chars(up); @@ -497,7 +497,7 @@ static void sunsu_change_mouse_baud(struct uart_sunsu_port *up)  	sunsu_change_speed(&up->port, up->cflag, 0, quot);  } -static void receive_kbd_ms_chars(struct uart_sunsu_port *up, struct pt_regs *regs, int is_break) +static void receive_kbd_ms_chars(struct uart_sunsu_port *up, int is_break)  {  	do {  		unsigned char ch = serial_inp(up, UART_RX); @@ -505,7 +505,7 @@ static void receive_kbd_ms_chars(struct uart_sunsu_port *up, struct pt_regs *reg  		/* Stop-A is handled by drivers/char/keyboard.c now. */  		if (up->su_type == SU_PORT_KBD) {  #ifdef CONFIG_SERIO -			serio_interrupt(&up->serio, ch, 0, regs); +			serio_interrupt(&up->serio, ch, 0);  #endif  		} else if (up->su_type == SU_PORT_MS) {  			int ret = suncore_mouse_baud_detection(ch, is_break); @@ -519,7 +519,7 @@ static void receive_kbd_ms_chars(struct uart_sunsu_port *up, struct pt_regs *reg  			case 0:  #ifdef CONFIG_SERIO -				serio_interrupt(&up->serio, ch, 0, regs); +				serio_interrupt(&up->serio, ch, 0);  #endif  				break;  			}; @@ -527,7 +527,7 @@ static void receive_kbd_ms_chars(struct uart_sunsu_port *up, struct pt_regs *reg  	} while (serial_in(up, UART_LSR) & UART_LSR_DR);  } -static irqreturn_t sunsu_kbd_ms_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sunsu_kbd_ms_interrupt(int irq, void *dev_id)  {  	struct uart_sunsu_port *up = dev_id; @@ -535,8 +535,7 @@ static irqreturn_t sunsu_kbd_ms_interrupt(int irq, void *dev_id, struct pt_regs  		unsigned char status = serial_inp(up, UART_LSR);  		if ((status & UART_LSR_DR) || (status & UART_LSR_BI)) -			receive_kbd_ms_chars(up, regs, -					     (status & UART_LSR_BI) != 0); +			receive_kbd_ms_chars(up, (status & UART_LSR_BI) != 0);  	}  	return IRQ_HANDLED; diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c index 0da3ebfff82..b11f6dea270 100644 --- a/drivers/serial/sunzilog.c +++ b/drivers/serial/sunzilog.c @@ -277,14 +277,13 @@ static void sunzilog_change_mouse_baud(struct uart_sunzilog_port *up)  }  static void sunzilog_kbdms_receive_chars(struct uart_sunzilog_port *up, -					 unsigned char ch, int is_break, -					 struct pt_regs *regs) +					 unsigned char ch, int is_break)  {  	if (ZS_IS_KEYB(up)) {  		/* Stop-A is handled by drivers/char/keyboard.c now. */  #ifdef CONFIG_SERIO  		if (up->serio_open) -			serio_interrupt(&up->serio, ch, 0, regs); +			serio_interrupt(&up->serio, ch, 0);  #endif  	} else if (ZS_IS_MOUSE(up)) {  		int ret = suncore_mouse_baud_detection(ch, is_break); @@ -299,7 +298,7 @@ static void sunzilog_kbdms_receive_chars(struct uart_sunzilog_port *up,  		case 0:  #ifdef CONFIG_SERIO  			if (up->serio_open) -				serio_interrupt(&up->serio, ch, 0, regs); +				serio_interrupt(&up->serio, ch, 0);  #endif  			break;  		}; @@ -308,8 +307,7 @@ static void sunzilog_kbdms_receive_chars(struct uart_sunzilog_port *up,  static struct tty_struct *  sunzilog_receive_chars(struct uart_sunzilog_port *up, -		       struct zilog_channel __iomem *channel, -		       struct pt_regs *regs) +		       struct zilog_channel __iomem *channel)  {  	struct tty_struct *tty;  	unsigned char ch, r1, flag; @@ -346,12 +344,12 @@ sunzilog_receive_chars(struct uart_sunzilog_port *up,  		ch &= up->parity_mask;  		if (unlikely(ZS_IS_KEYB(up)) || unlikely(ZS_IS_MOUSE(up))) { -			sunzilog_kbdms_receive_chars(up, ch, 0, regs); +			sunzilog_kbdms_receive_chars(up, ch, 0);  			continue;  		}  		if (tty == NULL) { -			uart_handle_sysrq_char(&up->port, ch, regs); +			uart_handle_sysrq_char(&up->port, ch);  			continue;  		} @@ -379,7 +377,7 @@ sunzilog_receive_chars(struct uart_sunzilog_port *up,  			else if (r1 & CRC_ERR)  				flag = TTY_FRAME;  		} -		if (uart_handle_sysrq_char(&up->port, ch, regs)) +		if (uart_handle_sysrq_char(&up->port, ch))  			continue;  		if (up->port.ignore_status_mask == 0xff || @@ -394,8 +392,7 @@ sunzilog_receive_chars(struct uart_sunzilog_port *up,  }  static void sunzilog_status_handle(struct uart_sunzilog_port *up, -				   struct zilog_channel __iomem *channel, -				   struct pt_regs *regs) +				   struct zilog_channel __iomem *channel)  {  	unsigned char status; @@ -408,7 +405,7 @@ static void sunzilog_status_handle(struct uart_sunzilog_port *up,  	if (status & BRK_ABRT) {  		if (ZS_IS_MOUSE(up)) -			sunzilog_kbdms_receive_chars(up, 0, 1, regs); +			sunzilog_kbdms_receive_chars(up, 0, 1);  		if (ZS_IS_CONS(up)) {  			/* Wait for BREAK to deassert to avoid potentially  			 * confusing the PROM. @@ -517,7 +514,7 @@ ack_tx_int:  	ZS_WSYNC(channel);  } -static irqreturn_t sunzilog_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t sunzilog_interrupt(int irq, void *dev_id)  {  	struct uart_sunzilog_port *up = dev_id; @@ -538,9 +535,9 @@ static irqreturn_t sunzilog_interrupt(int irq, void *dev_id, struct pt_regs *reg  			ZS_WSYNC(channel);  			if (r3 & CHARxIP) -				tty = sunzilog_receive_chars(up, channel, regs); +				tty = sunzilog_receive_chars(up, channel);  			if (r3 & CHAEXT) -				sunzilog_status_handle(up, channel, regs); +				sunzilog_status_handle(up, channel);  			if (r3 & CHATxIP)  				sunzilog_transmit_chars(up, channel);  		} @@ -561,9 +558,9 @@ static irqreturn_t sunzilog_interrupt(int irq, void *dev_id, struct pt_regs *reg  			ZS_WSYNC(channel);  			if (r3 & CHBRxIP) -				tty = sunzilog_receive_chars(up, channel, regs); +				tty = sunzilog_receive_chars(up, channel);  			if (r3 & CHBEXT) -				sunzilog_status_handle(up, channel, regs); +				sunzilog_status_handle(up, channel);  			if (r3 & CHBTxIP)  				sunzilog_transmit_chars(up, channel);  		} diff --git a/drivers/serial/v850e_uart.c b/drivers/serial/v850e_uart.c index f802867c95c..28f3bbff87b 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, struct pt_regs *regs) +static irqreturn_t v850e_uart_tx_irq(int 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, struct pt_regs *regs) +static irqreturn_t v850e_uart_rx_irq(int 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 6c8b0ea83c3..fd51f8182de 100644 --- a/drivers/serial/vr41xx_siu.c +++ b/drivers/serial/vr41xx_siu.c @@ -359,8 +359,7 @@ static void siu_break_ctl(struct uart_port *port, int ctl)  	spin_unlock_irqrestore(&port->lock, flags);  } -static inline void receive_chars(struct uart_port *port, uint8_t *status, -                                 struct pt_regs *regs) +static inline void receive_chars(struct uart_port *port, uint8_t *status)  {  	struct tty_struct *tty;  	uint8_t lsr, ch; @@ -405,7 +404,7 @@ static inline void receive_chars(struct uart_port *port, uint8_t *status,  				flag = TTY_PARITY;  		} -		if (uart_handle_sysrq_char(port, ch, regs)) +		if (uart_handle_sysrq_char(port, ch))  			goto ignore_char;  		uart_insert_char(port, lsr, UART_LSR_OE, ch, flag); @@ -472,7 +471,7 @@ static inline void transmit_chars(struct uart_port *port)  		siu_stop_tx(port);  } -static irqreturn_t siu_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t siu_interrupt(int irq, void *dev_id)  {  	struct uart_port *port;  	uint8_t iir, lsr; @@ -485,7 +484,7 @@ static irqreturn_t siu_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	lsr = siu_read(port, UART_LSR);  	if (lsr & UART_LSR_DR) -		receive_chars(port, &lsr, regs); +		receive_chars(port, &lsr);  	check_modem_status(port); diff --git a/drivers/sn/ioc3.c b/drivers/sn/ioc3.c index 6c7e0352d56..3d91b6b9287 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, struct pt_regs *regs) +static irqreturn_t ioc3_intr_io(int irq, void *arg)  {  	unsigned long flags;  	struct ioc3_driver_data *idd = (struct ioc3_driver_data *)arg; @@ -412,7 +412,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs)  		if(ioc3_ethernet && idd->active[ioc3_ethernet->id] &&  						ioc3_ethernet->intr) {  			handled = handled && !ioc3_ethernet->intr(ioc3_ethernet, -							idd, 0, regs); +							idd, 0);  		}  	}  	pending = get_pending_intrs(idd);	/* look at the IO IRQs */ @@ -424,8 +424,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs)  			write_ireg(idd, ioc3_submodules[id]->irq_mask,  							IOC3_W_IEC);  			if(!ioc3_submodules[id]->intr(ioc3_submodules[id], -				   idd, pending & ioc3_submodules[id]->irq_mask, -					regs)) +				   idd, pending & ioc3_submodules[id]->irq_mask))  				pending &= ~ioc3_submodules[id]->irq_mask;  			if (ioc3_submodules[id]->reset_mask)  				write_ireg(idd, ioc3_submodules[id]->irq_mask, @@ -442,7 +441,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg, struct pt_regs *regs)  	return handled?IRQ_HANDLED:IRQ_NONE;  } -static irqreturn_t ioc3_intr_eth(int irq, void *arg, struct pt_regs *regs) +static irqreturn_t ioc3_intr_eth(int irq, void *arg)  {  	unsigned long flags;  	struct ioc3_driver_data *idd = (struct ioc3_driver_data *)arg; @@ -453,8 +452,7 @@ static irqreturn_t ioc3_intr_eth(int irq, void *arg, struct pt_regs *regs)  	read_lock_irqsave(&ioc3_submodules_lock, flags);  	if(ioc3_ethernet && idd->active[ioc3_ethernet->id]  				&& ioc3_ethernet->intr) -		handled = handled && !ioc3_ethernet->intr(ioc3_ethernet, idd, 0, -								regs); +		handled = handled && !ioc3_ethernet->intr(ioc3_ethernet, idd, 0);  	read_unlock_irqrestore(&ioc3_submodules_lock, flags);  	return handled?IRQ_HANDLED:IRQ_NONE;  } diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c index 29aec77f98b..77122edeb20 100644 --- a/drivers/spi/pxa2xx_spi.c +++ b/drivers/spi/pxa2xx_spi.c @@ -409,7 +409,7 @@ static int wait_dma_channel_stop(int channel)  	return limit;  } -static void dma_handler(int channel, void *data, struct pt_regs *regs) +static void dma_handler(int channel, void *data)  {  	struct driver_data *drv_data = data;  	struct spi_message *msg = drv_data->cur_msg; @@ -667,7 +667,7 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data)  	return IRQ_HANDLED;  } -static irqreturn_t ssp_int(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ssp_int(int irq, void *dev_id)  {  	struct driver_data *drv_data = (struct driver_data *)dev_id;  	void *reg = drv_data->ioaddr; diff --git a/drivers/spi/spi_mpc83xx.c b/drivers/spi/spi_mpc83xx.c index 5d92a7e5cb4..ff0b04895db 100644 --- a/drivers/spi/spi_mpc83xx.c +++ b/drivers/spi/spi_mpc83xx.c @@ -296,8 +296,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, -			    struct pt_regs * ptregs) +irqreturn_t mpc83xx_spi_irq(s32 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 20eb6e95a3a..2ebe1fc4c39 100644 --- a/drivers/spi/spi_s3c24xx.c +++ b/drivers/spi/spi_s3c24xx.c @@ -196,7 +196,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, struct pt_regs *regs) +static irqreturn_t s3c24xx_spi_irq(int irq, void *dev)  {  	struct s3c24xx_spi *hw = dev;  	unsigned int spsta = readb(hw->regs + S3C2410_SPSTA); diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c index 622881f2676..7c0fe1dc96a 100644 --- a/drivers/tc/zs.c +++ b/drivers/tc/zs.c @@ -347,7 +347,7 @@ static void rs_sched_event(struct dec_serial *info, int event)  	tasklet_schedule(&info->tlet);  } -static void receive_chars(struct dec_serial *info, struct pt_regs *regs) +static void receive_chars(struct dec_serial *info)  {  	struct tty_struct *tty = info->tty;  	unsigned char ch, stat, flag; @@ -490,7 +490,7 @@ static void status_handle(struct dec_serial *info)  /*   * This is the serial driver's generic interrupt routine   */ -static irqreturn_t rs_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t rs_interrupt(int irq, void *dev_id)  {  	struct dec_serial *info = (struct dec_serial *) dev_id;  	irqreturn_t status = IRQ_NONE; @@ -518,7 +518,7 @@ static irqreturn_t rs_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		status = IRQ_HANDLED;  		if (zs_intreg & CHBRxIP) { -			receive_chars(info, regs); +			receive_chars(info);  		}  		if (zs_intreg & CHBTxIP) {  			transmit_chars(info); diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index 04631dcbabb..3892a9e9aee 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -171,7 +171,7 @@ struct cxacru_data {  };  /* the following three functions are stolen from drivers/usb/core/message.c */ -static void cxacru_blocking_completion(struct urb *urb, struct pt_regs *regs) +static void cxacru_blocking_completion(struct urb *urb)  {  	complete((struct completion *)urb->context);  } diff --git a/drivers/usb/atm/speedtch.c b/drivers/usb/atm/speedtch.c index 956b7a1e8af..7c7b507af29 100644 --- a/drivers/usb/atm/speedtch.c +++ b/drivers/usb/atm/speedtch.c @@ -547,7 +547,7 @@ static void speedtch_resubmit_int(unsigned long data)  	}  } -static void speedtch_handle_int(struct urb *int_urb, struct pt_regs *regs) +static void speedtch_handle_int(struct urb *int_urb)  {  	struct speedtch_instance_data *instance = int_urb->context;  	struct usbatm_data *usbatm = instance->usbatm; diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c index 465961a26e4..f5434b1cbb1 100644 --- a/drivers/usb/atm/ueagle-atm.c +++ b/drivers/usb/atm/ueagle-atm.c @@ -1297,7 +1297,7 @@ bad1:  /*   * interrupt handler   */ -static void uea_intr(struct urb *urb, struct pt_regs *regs) +static void uea_intr(struct urb *urb)  {  	struct uea_softc *sc = urb->context;  	struct intr_pkt *intr = urb->transfer_buffer; diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index a38701c742c..309073f6433 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -254,7 +254,7 @@ static int usbatm_submit_urb(struct urb *urb)  	return ret;  } -static void usbatm_complete(struct urb *urb, struct pt_regs *regs) +static void usbatm_complete(struct urb *urb)  {  	struct usbatm_channel *channel = urb->context;  	unsigned long flags; diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 71288295df2..ec4d1d75672 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -218,7 +218,7 @@ static int acm_write_start(struct acm *acm)   */  /* control interface reports status changes with "interrupt" transfers */ -static void acm_ctrl_irq(struct urb *urb, struct pt_regs *regs) +static void acm_ctrl_irq(struct urb *urb)  {  	struct acm *acm = urb->context;  	struct usb_cdc_notification *dr = urb->transfer_buffer; @@ -285,7 +285,7 @@ exit:  }  /* data interface returns incoming bytes, or we got unthrottled */ -static void acm_read_bulk(struct urb *urb, struct pt_regs *regs) +static void acm_read_bulk(struct urb *urb)  {  	struct acm_rb *buf;  	struct acm_ru *rcv = urb->context; @@ -409,7 +409,7 @@ urbs:  }  /* data interface wrote those outgoing bytes */ -static void acm_write_bulk(struct urb *urb, struct pt_regs *regs) +static void acm_write_bulk(struct urb *urb)  {  	struct acm *acm = (struct acm *)urb->context; diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c index 9cac11ca1bb..a161d70e1e4 100644 --- a/drivers/usb/class/usblp.c +++ b/drivers/usb/class/usblp.c @@ -271,7 +271,7 @@ static int proto_bias = -1;   * URB callback.   */ -static void usblp_bulk_read(struct urb *urb, struct pt_regs *regs) +static void usblp_bulk_read(struct urb *urb)  {  	struct usblp *usblp = urb->context; @@ -288,7 +288,7 @@ unplug:  	wake_up_interruptible(&usblp->wait);  } -static void usblp_bulk_write(struct urb *urb, struct pt_regs *regs) +static void usblp_bulk_write(struct urb *urb)  {  	struct usblp *usblp = urb->context; diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index 3f509beb88e..2c9c9462d89 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -304,7 +304,7 @@ static void snoop_urb(struct urb *urb, void __user *userurb)  	printk("\n");  } -static void async_completed(struct urb *urb, struct pt_regs *regs) +static void async_completed(struct urb *urb)  {          struct async *as = urb->context;          struct dev_state *ps = as->ps; diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index e658089f7b5..afa2dd20332 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -522,7 +522,7 @@ error:  	if (urb->status == -EINPROGRESS)  		urb->status = status;  	spin_unlock (&urb->lock); -	usb_hcd_giveback_urb (hcd, urb, NULL); +	usb_hcd_giveback_urb (hcd, urb);  	local_irq_restore (flags);  	return 0;  } @@ -572,7 +572,7 @@ void usb_hcd_poll_rh_status(struct usb_hcd *hcd)  		/* local irqs are always blocked in completions */  		if (length > 0) -			usb_hcd_giveback_urb (hcd, urb, NULL); +			usb_hcd_giveback_urb (hcd, urb);  		else  			hcd->poll_pending = 1;  		local_irq_restore (flags); @@ -656,7 +656,7 @@ static int usb_rh_urb_dequeue (struct usb_hcd *hcd, struct urb *urb)  			urb = NULL;		/* wasn't fully queued */  		spin_unlock (&hcd_root_hub_lock);  		if (urb) -			usb_hcd_giveback_urb (hcd, urb, NULL); +			usb_hcd_giveback_urb (hcd, urb);  		local_irq_restore (flags);  	} @@ -1498,7 +1498,6 @@ EXPORT_SYMBOL (usb_bus_start_enum);   * usb_hcd_giveback_urb - return URB from HCD to device driver   * @hcd: host controller returning the URB   * @urb: urb being returned to the USB device driver. - * @regs: pt_regs, passed down to the URB completion handler   * Context: in_interrupt()   *   * This hands the URB from HCD to its USB device driver, using its @@ -1507,7 +1506,7 @@ EXPORT_SYMBOL (usb_bus_start_enum);   * the device driver won't cause problems if it frees, modifies,   * or resubmits this URB.   */ -void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs) +void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb)  {  	int at_root_hub; @@ -1534,7 +1533,7 @@ void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs  	usbmon_urb_complete (&hcd->self, urb);  	/* pass ownership to the completion handler */ -	urb->complete (urb, regs); +	urb->complete (urb);  	atomic_dec (&urb->use_count);  	if (unlikely (urb->reject))  		wake_up (&usb_kill_urb_queue); @@ -1553,7 +1552,7 @@ EXPORT_SYMBOL (usb_hcd_giveback_urb);   * 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, struct pt_regs * r) +irqreturn_t usb_hcd_irq (int irq, void *__hcd)  {  	struct usb_hcd		*hcd = __hcd;  	int			start = hcd->state; @@ -1561,7 +1560,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd, struct pt_regs * r)  	if (unlikely(start == HC_STATE_HALT ||  	    !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)))  		return IRQ_NONE; -	if (hcd->driver->irq (hcd, r) == IRQ_NONE) +	if (hcd->driver->irq (hcd) == IRQ_NONE)  		return IRQ_NONE;  	set_bit(HCD_FLAG_SAW_IRQ, &hcd->flags); diff --git a/drivers/usb/core/hcd.h b/drivers/usb/core/hcd.h index 676877c15f8..8f8df0d4382 100644 --- a/drivers/usb/core/hcd.h +++ b/drivers/usb/core/hcd.h @@ -143,15 +143,13 @@ struct hcd_timeout {	/* timeouts we allocate */  /*-------------------------------------------------------------------------*/ -struct pt_regs; -  struct hc_driver {  	const char	*description;	/* "ehci-hcd" etc */  	const char	*product_desc;	/* product/vendor string */  	size_t		hcd_priv_size;	/* size of private data */  	/* irq handler */ -	irqreturn_t	(*irq) (struct usb_hcd *hcd, struct pt_regs *regs); +	irqreturn_t	(*irq) (struct usb_hcd *hcd);  	int	flags;  #define	HCD_MEMORY	0x0001		/* HC regs use memory (else I/O) */ @@ -205,8 +203,7 @@ struct hc_driver {  extern int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags);  extern int usb_hcd_unlink_urb (struct urb *urb, int status); -extern void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, -		struct pt_regs *regs); +extern void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb);  extern void usb_hcd_endpoint_disable (struct usb_device *udev,  		struct usb_host_endpoint *ep);  extern int usb_hcd_get_frame_number (struct usb_device *udev); @@ -248,7 +245,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, struct pt_regs *r); +extern irqreturn_t usb_hcd_irq (int 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/core/hub.c b/drivers/usb/core/hub.c index 7676690a038..66bff184a30 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -291,7 +291,7 @@ void usb_kick_khubd(struct usb_device *hdev)  /* completion function, fires on port status changes and various faults */ -static void hub_irq(struct urb *urb, struct pt_regs *regs) +static void hub_irq(struct urb *urb)  {  	struct usb_hub *hub = urb->context;  	int status; diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index 85b1cd18336..fccd1952bad 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -17,7 +17,7 @@  #include "hcd.h"	/* for usbcore internals */  #include "usb.h" -static void usb_api_blocking_completion(struct urb *urb, struct pt_regs *regs) +static void usb_api_blocking_completion(struct urb *urb)  {  	complete((struct completion *)urb->context);  } @@ -246,7 +246,7 @@ static void sg_clean (struct usb_sg_request *io)  	io->dev = NULL;  } -static void sg_complete (struct urb *urb, struct pt_regs *regs) +static void sg_complete (struct urb *urb)  {  	struct usb_sg_request	*io = urb->context; diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c index 77beba485a8..72f3db99ff9 100644 --- a/drivers/usb/gadget/at91_udc.c +++ b/drivers/usb/gadget/at91_udc.c @@ -1366,7 +1366,7 @@ static void handle_ep0(struct at91_udc *udc)  	}  } -static irqreturn_t at91_udc_irq (int irq, void *_udc, struct pt_regs *r) +static irqreturn_t at91_udc_irq (int irq, void *_udc)  {  	struct at91_udc		*udc = _udc;  	u32			rescans = 5; @@ -1552,7 +1552,7 @@ static struct at91_udc controller = {  	/* ep6 and ep7 are also reserved (custom silicon might use them) */  }; -static irqreturn_t at91_vbus_irq(int irq, void *_udc, struct pt_regs *r) +static irqreturn_t at91_vbus_irq(int irq, void *_udc)  {  	struct at91_udc	*udc = _udc;  	unsigned	value; diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c index 7cf2999e861..a3076da3f4e 100644 --- a/drivers/usb/gadget/goku_udc.c +++ b/drivers/usb/gadget/goku_udc.c @@ -1628,7 +1628,7 @@ stall:  		handled = 1; \  		} -static irqreturn_t goku_irq(int irq, void *_dev, struct pt_regs *r) +static irqreturn_t goku_irq(int 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 36db7257937..179259664c1 100644 --- a/drivers/usb/gadget/lh7a40x_udc.c +++ b/drivers/usb/gadget/lh7a40x_udc.c @@ -922,7 +922,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, struct pt_regs *r) +static irqreturn_t lh7a40x_udc_irq(int irq, void *_dev)  {  	struct lh7a40x_udc *dev = _dev; diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c index 3bda37f9a35..d954daa8e9e 100644 --- a/drivers/usb/gadget/net2280.c +++ b/drivers/usb/gadget/net2280.c @@ -2753,7 +2753,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, struct pt_regs * r) +static irqreturn_t net2280_irq (int irq, void *_dev)  {  	struct net2280		*dev = _dev; diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c index 8c18df86983..48a09fd89d1 100644 --- a/drivers/usb/gadget/omap_udc.c +++ b/drivers/usb/gadget/omap_udc.c @@ -1815,8 +1815,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, struct pt_regs *r) +static irqreturn_t omap_udc_irq(int irq, void *_udc)  {  	struct omap_udc	*udc = _udc;  	u16		irq_src; @@ -1888,8 +1887,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, struct pt_regs *r) +static irqreturn_t omap_udc_pio_irq(int irq, void *_dev)  {  	u16		epn_stat, irq_src;  	irqreturn_t	status = IRQ_NONE; @@ -1968,8 +1966,7 @@ omap_udc_pio_irq(int irq, void *_dev, struct pt_regs *r)  }  #ifdef	USE_ISO -static irqreturn_t -omap_udc_iso_irq(int irq, void *_dev, struct pt_regs *r) +static irqreturn_t omap_udc_iso_irq(int 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 f1adcf8b202..f42c00ef0bc 100644 --- a/drivers/usb/gadget/pxa2xx_udc.c +++ b/drivers/usb/gadget/pxa2xx_udc.c @@ -110,7 +110,7 @@ static int use_dma = 1;  module_param(use_dma, bool, 0);  MODULE_PARM_DESC (use_dma, "true to use dma"); -static void dma_nodesc_handler (int dmach, void *_ep, struct pt_regs *r); +static void dma_nodesc_handler (int dmach, void *_ep);  static void kick_dma(struct pxa2xx_ep *ep, struct pxa2xx_request *req);  #ifdef USE_OUT_DMA @@ -828,7 +828,7 @@ static void cancel_dma(struct pxa2xx_ep *ep)  }  /* dma channel stopped ... normal tx end (IN), or on error (IN/OUT) */ -static void dma_nodesc_handler(int dmach, void *_ep, struct pt_regs *r) +static void dma_nodesc_handler(int dmach, void *_ep)  {  	struct pxa2xx_ep	*ep = _ep;  	struct pxa2xx_request	*req; @@ -1724,7 +1724,7 @@ EXPORT_SYMBOL(usb_gadget_unregister_driver);   */  static irqreturn_t -lubbock_vbus_irq(int irq, void *_dev, struct pt_regs *r) +lubbock_vbus_irq(int irq, void *_dev)  {  	struct pxa2xx_udc	*dev = _dev;  	int			vbus; @@ -1754,8 +1754,7 @@ lubbock_vbus_irq(int irq, void *_dev, struct pt_regs *r)  #endif -static irqreturn_t -udc_vbus_irq(int irq, void *_dev, struct pt_regs *r) +static irqreturn_t udc_vbus_irq(int irq, void *_dev)  {  	struct pxa2xx_udc	*dev = _dev;  	int			vbus = pxa_gpio_get(dev->mach->gpio_vbus); @@ -2084,7 +2083,7 @@ static void handle_ep(struct pxa2xx_ep *ep)   * could cause usb protocol errors.   */  static irqreturn_t -pxa2xx_udc_irq(int irq, void *_dev, struct pt_regs *r) +pxa2xx_udc_irq(int irq, void *_dev)  {  	struct pxa2xx_udc	*dev = _dev;  	int			handled; diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 5ac91859113..aac6ec5dd7c 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -254,8 +254,8 @@ static void ehci_quiesce (struct ehci_hcd *ehci)  /*-------------------------------------------------------------------------*/ -static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs); -static void ehci_work(struct ehci_hcd *ehci, struct pt_regs *regs); +static void end_unlink_async (struct ehci_hcd *ehci); +static void ehci_work(struct ehci_hcd *ehci);  #include "ehci-hub.c"  #include "ehci-mem.c" @@ -280,7 +280,7 @@ static void ehci_iaa_watchdog (unsigned long param)  			ehci_vdbg (ehci, "lost IAA\n");  			COUNT (ehci->stats.lost_iaa);  			writel (STS_IAA, &ehci->regs->status); -			end_unlink_async (ehci, NULL); +			end_unlink_async (ehci);  		}  	} @@ -299,7 +299,7 @@ static void ehci_watchdog (unsigned long param)  		start_unlink_async (ehci, ehci->async);  	/* ehci could run by timer, without IRQs ... */ -	ehci_work (ehci, NULL); +	ehci_work (ehci);  	spin_unlock_irqrestore (&ehci->lock, flags);  } @@ -342,7 +342,7 @@ static void ehci_port_power (struct ehci_hcd *ehci, int is_on)   * ehci_work is called from some interrupts, timers, and so on.   * it calls driver completion functions, after dropping ehci->lock.   */ -static void ehci_work (struct ehci_hcd *ehci, struct pt_regs *regs) +static void ehci_work (struct ehci_hcd *ehci)  {  	timer_action_done (ehci, TIMER_IO_WATCHDOG); @@ -353,9 +353,9 @@ static void ehci_work (struct ehci_hcd *ehci, struct pt_regs *regs)  	if (ehci->scanning)  		return;  	ehci->scanning = 1; -	scan_async (ehci, regs); +	scan_async (ehci);  	if (ehci->next_uframe != -1) -		scan_periodic (ehci, regs); +		scan_periodic (ehci);  	ehci->scanning = 0;  	/* the IO watchdog guards against hardware or driver bugs that @@ -397,7 +397,7 @@ static void ehci_stop (struct usb_hcd *hcd)  	/* root hub is shut down separately (first, when possible) */  	spin_lock_irq (&ehci->lock);  	if (ehci->async) -		ehci_work (ehci, NULL); +		ehci_work (ehci);  	spin_unlock_irq (&ehci->lock);  	ehci_mem_cleanup (ehci); @@ -573,7 +573,7 @@ static int ehci_run (struct usb_hcd *hcd)  /*-------------------------------------------------------------------------*/ -static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs) +static irqreturn_t ehci_irq (struct usb_hcd *hcd)  {  	struct ehci_hcd		*ehci = hcd_to_ehci (hcd);  	u32			status; @@ -619,7 +619,7 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs)  	/* complete the unlinking of some qh [4.15.2.3] */  	if (status & STS_IAA) {  		COUNT (ehci->stats.reclaim); -		end_unlink_async (ehci, regs); +		end_unlink_async (ehci);  		bh = 1;  	} @@ -670,7 +670,7 @@ dead:  	}  	if (bh) -		ehci_work (ehci, regs); +		ehci_work (ehci);  	spin_unlock (&ehci->lock);  	return IRQ_HANDLED;  } @@ -727,7 +727,7 @@ static void unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)  	/* failfast */  	if (!HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) -		end_unlink_async (ehci, NULL); +		end_unlink_async (ehci);  	/* defer till later if busy */  	else if (ehci->reclaim) { @@ -787,7 +787,7 @@ static int ehci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb)  			intr_deschedule (ehci, qh);  			/* FALL THROUGH */  		case QH_STATE_IDLE: -			qh_completions (ehci, qh, NULL); +			qh_completions (ehci, qh);  			break;  		default:  			ehci_dbg (ehci, "bogus qh %p state %d\n", diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index b2ee13c5851..2012213c0a2 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -48,8 +48,8 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)  	}  	ehci->command = readl (&ehci->regs->command);  	if (ehci->reclaim) -		end_unlink_async (ehci, NULL); -	ehci_work(ehci, NULL); +		end_unlink_async (ehci); +	ehci_work(ehci);  	/* suspend any active/unsuspended ports, maybe allow wakeup */  	while (port--) { diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index 08d0472d4f5..35e3fab6fc4 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c @@ -303,8 +303,8 @@ restart:  	/* emptying the schedule aborts any urbs */  	spin_lock_irq(&ehci->lock);  	if (ehci->reclaim) -		end_unlink_async (ehci, NULL); -	ehci_work(ehci, NULL); +		end_unlink_async (ehci); +	ehci_work(ehci);  	spin_unlock_irq(&ehci->lock);  	/* restart; khubd will disconnect devices */ diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index 7fc25b6bd7d..46327272f61 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c @@ -214,7 +214,7 @@ static void qtd_copy_status (  }  static void -ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb, struct pt_regs *regs) +ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb)  __releases(ehci->lock)  __acquires(ehci->lock)  { @@ -262,7 +262,7 @@ __acquires(ehci->lock)  	/* complete() can reenter this HCD */  	spin_unlock (&ehci->lock); -	usb_hcd_giveback_urb (ehci_to_hcd(ehci), urb, regs); +	usb_hcd_giveback_urb (ehci_to_hcd(ehci), urb);  	spin_lock (&ehci->lock);  } @@ -279,7 +279,7 @@ static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh);   */  #define HALT_BIT __constant_cpu_to_le32(QTD_STS_HALT)  static unsigned -qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh, struct pt_regs *regs) +qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh)  {  	struct ehci_qtd		*last = NULL, *end = qh->dummy;  	struct list_head	*entry, *tmp; @@ -317,7 +317,7 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh, struct pt_regs *regs)  		/* clean up any state from previous QTD ...*/  		if (last) {  			if (likely (last->urb != urb)) { -				ehci_urb_done (ehci, last->urb, regs); +				ehci_urb_done (ehci, last->urb);  				count++;  			}  			ehci_qtd_free (ehci, last); @@ -407,7 +407,7 @@ halt:  	/* last urb's completion might still need calling */  	if (likely (last != NULL)) { -		ehci_urb_done (ehci, last->urb, regs); +		ehci_urb_done (ehci, last->urb);  		count++;  		ehci_qtd_free (ehci, last);  	} @@ -962,7 +962,7 @@ submit_async (  /* the async qh for the qtds being reclaimed are now unlinked from the HC */ -static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs) +static void end_unlink_async (struct ehci_hcd *ehci)  {  	struct ehci_qh		*qh = ehci->reclaim;  	struct ehci_qh		*next; @@ -979,7 +979,7 @@ static void end_unlink_async (struct ehci_hcd *ehci, struct pt_regs *regs)  	ehci->reclaim = next;  	qh->reclaim = NULL; -	qh_completions (ehci, qh, regs); +	qh_completions (ehci, qh);  	if (!list_empty (&qh->qtd_list)  			&& HC_IS_RUNNING (ehci_to_hcd(ehci)->state)) @@ -1047,7 +1047,7 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)  		/* if (unlikely (qh->reclaim != 0))  		 *	this will recurse, probably not much  		 */ -		end_unlink_async (ehci, NULL); +		end_unlink_async (ehci);  		return;  	} @@ -1059,8 +1059,7 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)  /*-------------------------------------------------------------------------*/ -static void -scan_async (struct ehci_hcd *ehci, struct pt_regs *regs) +static void scan_async (struct ehci_hcd *ehci)  {  	struct ehci_qh		*qh;  	enum ehci_timer_action	action = TIMER_IO_WATCHDOG; @@ -1084,7 +1083,7 @@ rescan:  				 */  				qh = qh_get (qh);  				qh->stamp = ehci->stamp; -				temp = qh_completions (ehci, qh, regs); +				temp = qh_completions (ehci, qh);  				qh_put (qh);  				if (temp != 0) {  					goto rescan; diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c index e5e9c653c90..65c402a0fa7 100644 --- a/drivers/usb/host/ehci-sched.c +++ b/drivers/usb/host/ehci-sched.c @@ -1553,8 +1553,7 @@ itd_link_urb (  static unsigned  itd_complete (  	struct ehci_hcd	*ehci, -	struct ehci_itd	*itd, -	struct pt_regs	*regs +	struct ehci_itd	*itd  ) {  	struct urb				*urb = itd->urb;  	struct usb_iso_packet_descriptor	*desc; @@ -1613,7 +1612,7 @@ itd_complete (  	/* give urb back to the driver ... can be out-of-order */  	dev = urb->dev; -	ehci_urb_done (ehci, urb, regs); +	ehci_urb_done (ehci, urb);  	urb = NULL;  	/* defer stopping schedule; completion can submit */ @@ -1930,8 +1929,7 @@ sitd_link_urb (  static unsigned  sitd_complete (  	struct ehci_hcd		*ehci, -	struct ehci_sitd	*sitd, -	struct pt_regs		*regs +	struct ehci_sitd	*sitd  ) {  	struct urb				*urb = sitd->urb;  	struct usb_iso_packet_descriptor	*desc; @@ -1978,7 +1976,7 @@ sitd_complete (  	/* give urb back to the driver */  	dev = urb->dev; -	ehci_urb_done (ehci, urb, regs); +	ehci_urb_done (ehci, urb);  	urb = NULL;  	/* defer stopping schedule; completion can submit */ @@ -2065,8 +2063,7 @@ sitd_submit (struct ehci_hcd *ehci, struct urb *urb, gfp_t mem_flags)  static inline unsigned  sitd_complete (  	struct ehci_hcd		*ehci, -	struct ehci_sitd	*sitd, -	struct pt_regs		*regs +	struct ehci_sitd	*sitd  ) {  	ehci_err (ehci, "sitd_complete %p?\n", sitd);  	return 0; @@ -2077,7 +2074,7 @@ sitd_complete (  /*-------------------------------------------------------------------------*/  static void -scan_periodic (struct ehci_hcd *ehci, struct pt_regs *regs) +scan_periodic (struct ehci_hcd *ehci)  {  	unsigned	frame, clock, now_uframe, mod;  	unsigned	modified; @@ -2131,7 +2128,7 @@ restart:  				temp.qh = qh_get (q.qh);  				type = Q_NEXT_TYPE (q.qh->hw_next);  				q = q.qh->qh_next; -				modified = qh_completions (ehci, temp.qh, regs); +				modified = qh_completions (ehci, temp.qh);  				if (unlikely (list_empty (&temp.qh->qtd_list)))  					intr_deschedule (ehci, temp.qh);  				qh_put (temp.qh); @@ -2169,7 +2166,7 @@ restart:  				*hw_p = q.itd->hw_next;  				type = Q_NEXT_TYPE (q.itd->hw_next);  				wmb(); -				modified = itd_complete (ehci, q.itd, regs); +				modified = itd_complete (ehci, q.itd);  				q = *q_p;  				break;  			case Q_TYPE_SITD: @@ -2185,7 +2182,7 @@ restart:  				*hw_p = q.sitd->hw_next;  				type = Q_NEXT_TYPE (q.sitd->hw_next);  				wmb(); -				modified = sitd_complete (ehci, q.sitd, regs); +				modified = sitd_complete (ehci, q.sitd);  				q = *q_p;  				break;  			default: diff --git a/drivers/usb/host/hc_crisv10.c b/drivers/usb/host/hc_crisv10.c index 61e571782cf..87eca6aeacf 100644 --- a/drivers/usb/host/hc_crisv10.c +++ b/drivers/usb/host/hc_crisv10.c @@ -478,9 +478,9 @@ static int etrax_usb_submit_urb(struct urb *urb, unsigned mem_flags);  static int etrax_usb_unlink_urb(struct urb *urb, int status);  static int etrax_usb_get_frame_number(struct usb_device *usb_dev); -static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc, struct pt_regs *regs); -static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc, struct pt_regs *regs); -static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc, struct pt_regs *regs); +static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc); +static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc); +static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc);  static void etrax_usb_hc_interrupt_bottom_half(void *data);  static void etrax_usb_isoc_descr_interrupt_bottom_half(void *data); @@ -1573,7 +1573,7 @@ static int etrax_usb_get_frame_number(struct usb_device *usb_dev)  	return (*R_USB_FM_NUMBER & 0x7ff);  } -static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc, struct pt_regs *regs) +static irqreturn_t etrax_usb_tx_interrupt(int irq, void *vhc)  {  	DBFENTER; @@ -1839,7 +1839,7 @@ static void etrax_usb_isoc_descr_interrupt_bottom_half(void *data) -static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc, struct pt_regs *regs) +static irqreturn_t etrax_usb_rx_interrupt(int irq, void *vhc)  {  	struct urb *urb;  	etrax_urb_priv_t *urb_priv; @@ -3280,7 +3280,7 @@ static void etrax_usb_complete_urb(struct urb *urb, int status) -static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc, struct pt_regs *regs) +static irqreturn_t etrax_usb_hc_interrupt_top_half(int irq, void *vhc)  {  	usb_interrupt_registers_t *reg;  	unsigned long flags; diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c index a72e041df8e..2718b5dc4ec 100644 --- a/drivers/usb/host/isp116x-hcd.c +++ b/drivers/usb/host/isp116x-hcd.c @@ -418,7 +418,7 @@ static void postproc_atl_queue(struct isp116x *isp116x)    processed urbs.  */  static void finish_request(struct isp116x *isp116x, struct isp116x_ep *ep, -			   struct urb *urb, struct pt_regs *regs) +			   struct urb *urb)  __releases(isp116x->lock) __acquires(isp116x->lock)  {  	unsigned i; @@ -432,7 +432,7 @@ __releases(isp116x->lock) __acquires(isp116x->lock)  	urb_dbg(urb, "Finish");  	spin_unlock(&isp116x->lock); -	usb_hcd_giveback_urb(isp116x_to_hcd(isp116x), urb, regs); +	usb_hcd_giveback_urb(isp116x_to_hcd(isp116x), urb);  	spin_lock(&isp116x->lock);  	/* take idle endpoints out of the schedule */ @@ -568,7 +568,7 @@ static void start_atl_transfers(struct isp116x *isp116x)  /*    Finish the processed transfers  */ -static void finish_atl_transfers(struct isp116x *isp116x, struct pt_regs *regs) +static void finish_atl_transfers(struct isp116x *isp116x)  {  	struct isp116x_ep *ep;  	struct urb *urb; @@ -590,12 +590,12 @@ static void finish_atl_transfers(struct isp116x *isp116x, struct pt_regs *regs)  		   occured, while URB_SHORT_NOT_OK was set */  		if (urb && urb->status != -EINPROGRESS  		    && ep->nextpid != USB_PID_ACK) -			finish_request(isp116x, ep, urb, regs); +			finish_request(isp116x, ep, urb);  	}  	atomic_dec(&isp116x->atl_finishing);  } -static irqreturn_t isp116x_irq(struct usb_hcd *hcd, struct pt_regs *regs) +static irqreturn_t isp116x_irq(struct usb_hcd *hcd)  {  	struct isp116x *isp116x = hcd_to_isp116x(hcd);  	u16 irqstat; @@ -608,7 +608,7 @@ static irqreturn_t isp116x_irq(struct usb_hcd *hcd, struct pt_regs *regs)  	if (irqstat & (HCuPINT_ATL | HCuPINT_SOF)) {  		ret = IRQ_HANDLED; -		finish_atl_transfers(isp116x, regs); +		finish_atl_transfers(isp116x);  	}  	if (irqstat & HCuPINT_OPR) { @@ -824,7 +824,7 @@ static int isp116x_urb_enqueue(struct usb_hcd *hcd,  	spin_lock(&urb->lock);  	if (urb->status != -EINPROGRESS) {  		spin_unlock(&urb->lock); -		finish_request(isp116x, ep, urb, NULL); +		finish_request(isp116x, ep, urb);  		ret = 0;  		goto fail;  	} @@ -870,7 +870,7 @@ static int isp116x_urb_dequeue(struct usb_hcd *hcd, struct urb *urb)  			}  	if (urb) -		finish_request(isp116x, ep, urb, NULL); +		finish_request(isp116x, ep, urb);  	spin_unlock_irqrestore(&isp116x->lock, flags);  	return 0; diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index d1d68c40225..9be6b303e78 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -261,7 +261,7 @@ static int ohci_urb_enqueue (  	if (urb->status != -EINPROGRESS) {  		spin_unlock (&urb->lock);  		urb->hcpriv = urb_priv; -		finish_urb (ohci, urb, NULL); +		finish_urb (ohci, urb);  		retval = 0;  		goto fail;  	} @@ -337,7 +337,7 @@ static int ohci_urb_dequeue (struct usb_hcd *hcd, struct urb *urb)  		 * any more ... just clean up every urb's memory.  		 */  		if (urb->hcpriv) -			finish_urb (ohci, urb, NULL); +			finish_urb (ohci, urb);  	}  	spin_unlock_irqrestore (&ohci->lock, flags);  	return 0; @@ -369,7 +369,7 @@ rescan:  	if (!HC_IS_RUNNING (hcd->state)) {  sanitize:  		ed->state = ED_IDLE; -		finish_unlinks (ohci, 0, NULL); +		finish_unlinks (ohci, 0);  	}  	switch (ed->state) { @@ -691,7 +691,7 @@ retry:  /* an interrupt happens */ -static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs) +static irqreturn_t ohci_irq (struct usb_hcd *hcd)  {  	struct ohci_hcd		*ohci = hcd_to_ohci (hcd);  	struct ohci_regs __iomem *regs = ohci->regs; @@ -747,7 +747,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs)  		if (HC_IS_RUNNING(hcd->state))  			ohci_writel (ohci, OHCI_INTR_WDH, ®s->intrdisable);  		spin_lock (&ohci->lock); -		dl_done_list (ohci, ptregs); +		dl_done_list (ohci);  		spin_unlock (&ohci->lock);  		if (HC_IS_RUNNING(hcd->state))  			ohci_writel (ohci, OHCI_INTR_WDH, ®s->intrenable);  @@ -760,7 +760,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs)  	 */  	spin_lock (&ohci->lock);  	if (ohci->ed_rm_list) -		finish_unlinks (ohci, ohci_frame_no(ohci), ptregs); +		finish_unlinks (ohci, ohci_frame_no(ohci));  	if ((ints & OHCI_INTR_SF) != 0 && !ohci->ed_rm_list  			&& HC_IS_RUNNING(hcd->state))  		ohci_writel (ohci, OHCI_INTR_SF, ®s->intrdisable);	 @@ -852,7 +852,7 @@ static int ohci_restart (struct ohci_hcd *ohci)  		urb->status = -ESHUTDOWN;  		spin_unlock (&urb->lock);  	} -	finish_unlinks (ohci, 0, NULL); +	finish_unlinks (ohci, 0);  	spin_unlock_irq(&ohci->lock);  	/* paranoia, in case that didn't work: */ diff --git a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c index ec75774abea..6f113596af6 100644 --- a/drivers/usb/host/ohci-hub.c +++ b/drivers/usb/host/ohci-hub.c @@ -47,8 +47,8 @@ static void ohci_rhsc_enable (struct usb_hcd *hcd)  #define OHCI_SCHED_ENABLES \  	(OHCI_CTRL_CLE|OHCI_CTRL_BLE|OHCI_CTRL_PLE|OHCI_CTRL_IE) -static void dl_done_list (struct ohci_hcd *, struct pt_regs *); -static void finish_unlinks (struct ohci_hcd *, u16 , struct pt_regs *); +static void dl_done_list (struct ohci_hcd *); +static void finish_unlinks (struct ohci_hcd *, u16);  static int ohci_rh_suspend (struct ohci_hcd *ohci, int autostop)  __releases(ohci->lock) @@ -94,8 +94,8 @@ __acquires(ohci->lock)  		msleep (8);  		spin_lock_irq (&ohci->lock);  	} -	dl_done_list (ohci, NULL); -	finish_unlinks (ohci, ohci_frame_no(ohci), NULL); +	dl_done_list (ohci); +	finish_unlinks (ohci, ohci_frame_no(ohci));  	/* maybe resume can wake root hub */  	if (device_may_wakeup(&ohci_to_hcd(ohci)->self.root_hub->dev) || diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c index e372306ed0d..e08d1a2664e 100644 --- a/drivers/usb/host/ohci-q.c +++ b/drivers/usb/host/ohci-q.c @@ -7,6 +7,8 @@   * This file is licenced under the GPL.   */ +#include <linux/irq.h> +  static void urb_free_priv (struct ohci_hcd *hc, urb_priv_t *urb_priv)  {  	int		last = urb_priv->length - 1; @@ -34,7 +36,7 @@ static void urb_free_priv (struct ohci_hcd *hc, urb_priv_t *urb_priv)   * PRECONDITION:  ohci lock held, irqs blocked.   */  static void -finish_urb (struct ohci_hcd *ohci, struct urb *urb, struct pt_regs *regs) +finish_urb (struct ohci_hcd *ohci, struct urb *urb)  __releases(ohci->lock)  __acquires(ohci->lock)  { @@ -73,7 +75,7 @@ __acquires(ohci->lock)  	/* urb->complete() can reenter this HCD */  	spin_unlock (&ohci->lock); -	usb_hcd_giveback_urb (ohci_to_hcd(ohci), urb, regs); +	usb_hcd_giveback_urb (ohci_to_hcd(ohci), urb);  	spin_lock (&ohci->lock);  	/* stop periodic dma if it's not needed */ @@ -910,7 +912,7 @@ static struct td *dl_reverse_done_list (struct ohci_hcd *ohci)  /* there are some urbs/eds to unlink; called in_irq(), with HCD locked */  static void -finish_unlinks (struct ohci_hcd *ohci, u16 tick, struct pt_regs *regs) +finish_unlinks (struct ohci_hcd *ohci, u16 tick)  {  	struct ed	*ed, **last; @@ -923,7 +925,7 @@ rescan_all:  		/* only take off EDs that the HC isn't using, accounting for  		 * frame counter wraps and EDs with partially retired TDs  		 */ -		if (likely (regs && HC_IS_RUNNING(ohci_to_hcd(ohci)->state))) { +		if (likely (get_irq_regs() && HC_IS_RUNNING(ohci_to_hcd(ohci)->state))) {  			if (tick_before (tick, ed->tick)) {  skip_ed:  				last = &ed->ed_next; @@ -990,7 +992,7 @@ rescan_this:  			/* if URB is done, clean up */  			if (urb_priv->td_cnt == urb_priv->length) {  				modified = completed = 1; -				finish_urb (ohci, urb, regs); +				finish_urb (ohci, urb);  			}  		}  		if (completed && !list_empty (&ed->td_list)) @@ -1068,7 +1070,7 @@ rescan_this:   * scanning the (re-reversed) donelist as this does.   */  static void -dl_done_list (struct ohci_hcd *ohci, struct pt_regs *regs) +dl_done_list (struct ohci_hcd *ohci)  {  	struct td	*td = dl_reverse_done_list (ohci); @@ -1084,7 +1086,7 @@ dl_done_list (struct ohci_hcd *ohci, struct pt_regs *regs)  		/* If all this urb's TDs are done, call complete() */    		if (urb_priv->td_cnt == urb_priv->length) -  			finish_urb (ohci, urb, regs); +  			finish_urb (ohci, urb);  		/* clean schedule:  unlink EDs that are no longer busy */  		if (list_empty (&ed->td_list)) { diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c index 3a586aab393..5fa5647ea09 100644 --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c @@ -428,7 +428,6 @@ static void finish_request(  	struct sl811		*sl811,  	struct sl811h_ep	*ep,  	struct urb		*urb, -	struct pt_regs		*regs,  	int			status  ) __releases(sl811->lock) __acquires(sl811->lock)  { @@ -444,7 +443,7 @@ static void finish_request(  	spin_unlock(&urb->lock);  	spin_unlock(&sl811->lock); -	usb_hcd_giveback_urb(sl811_to_hcd(sl811), urb, regs); +	usb_hcd_giveback_urb(sl811_to_hcd(sl811), urb);  	spin_lock(&sl811->lock);  	/* leave active endpoints in the schedule */ @@ -484,7 +483,7 @@ static void finish_request(  }  static void -done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank, struct pt_regs *regs) +done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank)  {  	u8			status;  	struct urb		*urb; @@ -608,7 +607,7 @@ done(struct sl811 *sl811, struct sl811h_ep *ep, u8 bank, struct pt_regs *regs)  	}  	if (urb && (urbstat != -EINPROGRESS || urb->status != -EINPROGRESS)) -		finish_request(sl811, ep, urb, regs, urbstat); +		finish_request(sl811, ep, urb, urbstat);  }  static inline u8 checkdone(struct sl811 *sl811) @@ -641,7 +640,7 @@ static inline u8 checkdone(struct sl811 *sl811)  	return irqstat;  } -static irqreturn_t sl811h_irq(struct usb_hcd *hcd, struct pt_regs *regs) +static irqreturn_t sl811h_irq(struct usb_hcd *hcd)  {  	struct sl811	*sl811 = hcd_to_sl811(hcd);  	u8		irqstat; @@ -670,13 +669,13 @@ retry:  	 * issued ... that's fine if they're different endpoints.  	 */  	if (irqstat & SL11H_INTMASK_DONE_A) { -		done(sl811, sl811->active_a, SL811_EP_A(SL811_HOST_BUF), regs); +		done(sl811, sl811->active_a, SL811_EP_A(SL811_HOST_BUF));  		sl811->active_a = NULL;  		sl811->stat_a++;  	}  #ifdef USE_B  	if (irqstat & SL11H_INTMASK_DONE_B) { -		done(sl811, sl811->active_b, SL811_EP_B(SL811_HOST_BUF), regs); +		done(sl811, sl811->active_b, SL811_EP_B(SL811_HOST_BUF));  		sl811->active_b = NULL;  		sl811->stat_b++;  	} @@ -723,7 +722,7 @@ retry:  				container_of(sl811->active_a  						->hep->urb_list.next,  					struct urb, urb_list), -				NULL, -ESHUTDOWN); +				-ESHUTDOWN);  			sl811->active_a = NULL;  		}  #ifdef	USE_B @@ -957,7 +956,7 @@ static int sl811h_urb_enqueue(  	spin_lock(&urb->lock);  	if (urb->status != -EINPROGRESS) {  		spin_unlock(&urb->lock); -		finish_request(sl811, ep, urb, NULL, 0); +		finish_request(sl811, ep, urb, 0);  		retval = 0;  		goto fail;  	} @@ -1026,7 +1025,7 @@ static int sl811h_urb_dequeue(struct usb_hcd *hcd, struct urb *urb)  		}  		if (urb) -			finish_request(sl811, ep, urb, NULL, 0); +			finish_request(sl811, ep, urb, 0);  		else  			VDBG("dequeue, urb %p active %s; wait4irq\n", urb,  				(sl811->active_a == ep) ? "A" : "B"); @@ -1083,7 +1082,7 @@ sl811h_hub_status_data(struct usb_hcd *hcd, char *buf)  	 */  	local_irq_save(flags);  	if (!timer_pending(&sl811->timer)) { -		if (sl811h_irq( /* ~0, */ hcd, NULL) != IRQ_NONE) +		if (sl811h_irq( /* ~0, */ hcd) != IRQ_NONE)  			sl811->stat_lost++;  	}  	local_irq_restore(flags); diff --git a/drivers/usb/host/u132-hcd.c b/drivers/usb/host/u132-hcd.c index 0a315200b33..32c635ecbf3 100644 --- a/drivers/usb/host/u132-hcd.c +++ b/drivers/usb/host/u132-hcd.c @@ -557,7 +557,7 @@ static void u132_hcd_giveback_urb(struct u132 *u132, struct u132_endp *endp,          u132_ring_queue_work(u132, ring, 0);          up(&u132->scheduler_lock);          u132_endp_put_kref(u132, endp); -        usb_hcd_giveback_urb(hcd, urb, NULL); +        usb_hcd_giveback_urb(hcd, urb);          return;  } @@ -590,7 +590,7 @@ static void u132_hcd_abandon_urb(struct u132 *u132, struct u132_endp *endp,                  endp->active = 0;                  spin_unlock_irqrestore(&endp->queue_lock.slock, irqs);                  kfree(urbq); -        } usb_hcd_giveback_urb(hcd, urb, NULL); +        } usb_hcd_giveback_urb(hcd, urb);          return;  } @@ -2434,7 +2434,7 @@ static int dequeue_from_overflow_chain(struct u132 *u132,                          endp->queue_size -= 1;                          urb->error_count = 0;                          urb->hcpriv = NULL; -                        usb_hcd_giveback_urb(hcd, urb, NULL); +                        usb_hcd_giveback_urb(hcd, urb);                          return 0;                  } else                          continue; @@ -2512,7 +2512,7 @@ static int u132_endp_urb_dequeue(struct u132 *u132, struct u132_endp *endp,                                  kfree(urbq);                          } urb->error_count = 0;                          urb->hcpriv = NULL; -                        usb_hcd_giveback_urb(hcd, urb, NULL); +                        usb_hcd_giveback_urb(hcd, urb);                          return 0;                  } else if (list_empty(&endp->urb_more)) {                          dev_err(&u132->platform_dev->dev, "urb=%p not found in " diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index eb4eab98e8b..45ee6920a85 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c @@ -252,7 +252,7 @@ __acquires(uhci->lock)  	uhci->is_stopped = UHCI_IS_STOPPED;  	uhci_to_hcd(uhci)->poll_rh = !int_enable; -	uhci_scan_schedule(uhci, NULL); +	uhci_scan_schedule(uhci);  	uhci_fsbr_off(uhci);  } @@ -309,7 +309,7 @@ __acquires(uhci->lock)  	mod_timer(&uhci_to_hcd(uhci)->rh_timer, jiffies);  } -static irqreturn_t uhci_irq(struct usb_hcd *hcd, struct pt_regs *regs) +static irqreturn_t uhci_irq(struct usb_hcd *hcd)  {  	struct uhci_hcd *uhci = hcd_to_uhci(hcd);  	unsigned short status; @@ -358,7 +358,7 @@ static irqreturn_t uhci_irq(struct usb_hcd *hcd, struct pt_regs *regs)  		usb_hcd_poll_rh_status(hcd);  	else {  		spin_lock_irqsave(&uhci->lock, flags); -		uhci_scan_schedule(uhci, regs); +		uhci_scan_schedule(uhci);  		spin_unlock_irqrestore(&uhci->lock, flags);  	} @@ -671,7 +671,7 @@ static void uhci_stop(struct usb_hcd *hcd)  	spin_lock_irq(&uhci->lock);  	if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) && !uhci->dead)  		uhci_hc_died(uhci); -	uhci_scan_schedule(uhci, NULL); +	uhci_scan_schedule(uhci);  	spin_unlock_irq(&uhci->lock);  	del_timer_sync(&uhci->fsbr_timer); diff --git a/drivers/usb/host/uhci-hub.c b/drivers/usb/host/uhci-hub.c index 16fb72eb6fc..f8347f1a10b 100644 --- a/drivers/usb/host/uhci-hub.c +++ b/drivers/usb/host/uhci-hub.c @@ -176,7 +176,7 @@ static int uhci_hub_status_data(struct usb_hcd *hcd, char *buf)  	spin_lock_irqsave(&uhci->lock, flags); -	uhci_scan_schedule(uhci, NULL); +	uhci_scan_schedule(uhci);  	if (!test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags) || uhci->dead)  		goto done;  	uhci_check_ports(uhci); diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index 431e8f31f1a..06115f22a4f 100644 --- a/drivers/usb/host/uhci-q.c +++ b/drivers/usb/host/uhci-q.c @@ -1244,7 +1244,7 @@ done:   * Finish unlinking an URB and give it back   */  static void uhci_giveback_urb(struct uhci_hcd *uhci, struct uhci_qh *qh, -		struct urb *urb, struct pt_regs *regs) +		struct urb *urb)  __releases(uhci->lock)  __acquires(uhci->lock)  { @@ -1293,7 +1293,7 @@ __acquires(uhci->lock)  	}  	spin_unlock(&uhci->lock); -	usb_hcd_giveback_urb(uhci_to_hcd(uhci), urb, regs); +	usb_hcd_giveback_urb(uhci_to_hcd(uhci), urb);  	spin_lock(&uhci->lock);  	/* If the queue is now empty, we can unlink the QH and give up its @@ -1313,8 +1313,7 @@ __acquires(uhci->lock)  		(qh->state == QH_STATE_UNLINKING &&	\  		uhci->frame_number + uhci->is_stopped != qh->unlink_frame) -static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, -		struct pt_regs *regs) +static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh)  {  	struct urb_priv *urbp;  	struct urb *urb; @@ -1347,7 +1346,7 @@ static void uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh,  				return;  		} -		uhci_giveback_urb(uhci, qh, urb, regs); +		uhci_giveback_urb(uhci, qh, urb);  		if (status < 0 && qh->type != USB_ENDPOINT_XFER_ISOC)  			break;  	} @@ -1372,7 +1371,7 @@ restart:  				qh->is_stopped = 0;  				return;  			} -			uhci_giveback_urb(uhci, qh, urb, regs); +			uhci_giveback_urb(uhci, qh, urb);  			goto restart;  		}  	} @@ -1487,7 +1486,7 @@ done:  /*   * Process events in the schedule, but only in one thread at a time   */ -static void uhci_scan_schedule(struct uhci_hcd *uhci, struct pt_regs *regs) +static void uhci_scan_schedule(struct uhci_hcd *uhci)  {  	int i;  	struct uhci_qh *qh; @@ -1515,7 +1514,7 @@ rescan:  					struct uhci_qh, node);  			if (uhci_advance_check(uhci, qh)) { -				uhci_scan_qh(uhci, qh, regs); +				uhci_scan_qh(uhci, qh);  				if (qh->state == QH_STATE_ACTIVE) {  					uhci_urbp_wants_fsbr(uhci,  	list_entry(qh->queue.next, struct urb_priv, node)); diff --git a/drivers/usb/image/mdc800.c b/drivers/usb/image/mdc800.c index ca6305c1d64..63a84bbc310 100644 --- a/drivers/usb/image/mdc800.c +++ b/drivers/usb/image/mdc800.c @@ -280,7 +280,7 @@ static int mdc800_isReady (char *ch)  /*   * USB IRQ Handler for InputLine   */ -static void mdc800_usb_irq (struct urb *urb, struct pt_regs *res) +static void mdc800_usb_irq (struct urb *urb)  {  	int data_received=0, wake_up;  	unsigned char* b=urb->transfer_buffer; @@ -374,7 +374,7 @@ static int mdc800_usb_waitForIRQ (int mode, int msec)  /*   * The write_urb callback function   */ -static void mdc800_usb_write_notify (struct urb *urb, struct pt_regs *res) +static void mdc800_usb_write_notify (struct urb *urb)  {  	struct mdc800_data* mdc800=urb->context; @@ -394,7 +394,7 @@ static void mdc800_usb_write_notify (struct urb *urb, struct pt_regs *res)  /*   * The download_urb callback function   */ -static void mdc800_usb_download_notify (struct urb *urb, struct pt_regs *res) +static void mdc800_usb_download_notify (struct urb *urb)  {  	struct mdc800_data* mdc800=urb->context; diff --git a/drivers/usb/image/microtek.c b/drivers/usb/image/microtek.c index 5f861331932..3038ed0700d 100644 --- a/drivers/usb/image/microtek.c +++ b/drivers/usb/image/microtek.c @@ -370,7 +370,7 @@ static int  mts_scsi_queuecommand(struct scsi_cmnd *srb, mts_scsi_cmnd_callback callback);  static void mts_transfer_cleanup( struct urb *transfer ); -static void mts_do_sg(struct urb * transfer, struct pt_regs *regs); +static void mts_do_sg(struct urb * transfer);  static inline  void mts_int_submit_urb (struct urb* transfer, @@ -417,7 +417,7 @@ static void mts_transfer_cleanup( struct urb *transfer )  } -static void mts_transfer_done( struct urb *transfer, struct pt_regs *regs ) +static void mts_transfer_done( struct urb *transfer )  {  	MTS_INT_INIT(); @@ -443,7 +443,7 @@ static void mts_get_status( struct urb *transfer )  			   mts_transfer_done );  } -static void mts_data_done( struct urb* transfer, struct pt_regs *regs ) +static void mts_data_done( struct urb* transfer )  /* Interrupt context! */  {  	MTS_INT_INIT(); @@ -460,7 +460,7 @@ static void mts_data_done( struct urb* transfer, struct pt_regs *regs )  } -static void mts_command_done( struct urb *transfer, struct pt_regs *regs ) +static void mts_command_done( struct urb *transfer )  /* Interrupt context! */  {  	MTS_INT_INIT(); @@ -501,7 +501,7 @@ static void mts_command_done( struct urb *transfer, struct pt_regs *regs )  	return;  } -static void mts_do_sg (struct urb* transfer, struct pt_regs *regs) +static void mts_do_sg (struct urb* transfer)  {  	struct scatterlist * sg;  	MTS_INT_INIT(); diff --git a/drivers/usb/input/acecad.c b/drivers/usb/input/acecad.c index d83603ba40a..0096373b5f9 100644 --- a/drivers/usb/input/acecad.c +++ b/drivers/usb/input/acecad.c @@ -58,7 +58,7 @@ struct usb_acecad {  	dma_addr_t data_dma;  }; -static void usb_acecad_irq(struct urb *urb, struct pt_regs *regs) +static void usb_acecad_irq(struct urb *urb)  {  	struct usb_acecad *acecad = urb->context;  	unsigned char *data = acecad->data; diff --git a/drivers/usb/input/aiptek.c b/drivers/usb/input/aiptek.c index b138dae2b05..bf428184608 100644 --- a/drivers/usb/input/aiptek.c +++ b/drivers/usb/input/aiptek.c @@ -396,7 +396,7 @@ static int aiptek_convert_from_2s_complement(unsigned char c)   * replaced with the input_sync() method (which emits EV_SYN.)   */ -static void aiptek_irq(struct urb *urb, struct pt_regs *regs) +static void aiptek_irq(struct urb *urb)  {  	struct aiptek *aiptek = urb->context;  	unsigned char *data = aiptek->data; @@ -442,8 +442,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)  			aiptek->diagnostic =  			    AIPTEK_DIAGNOSTIC_SENDING_RELATIVE_IN_ABSOLUTE;  		} else { -			input_regs(inputdev, regs); -  			x = aiptek_convert_from_2s_complement(data[2]);  			y = aiptek_convert_from_2s_complement(data[3]); @@ -488,8 +486,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)  			    (aiptek->curSetting.pointerMode)) {  				aiptek->diagnostic = AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED;  		} else { -			input_regs(inputdev, regs); -  			x = le16_to_cpu(get_unaligned((__le16 *) (data + 1)));  			y = le16_to_cpu(get_unaligned((__le16 *) (data + 3)));  			z = le16_to_cpu(get_unaligned((__le16 *) (data + 6))); @@ -568,7 +564,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)  			(aiptek->curSetting.pointerMode)) {  			aiptek->diagnostic = AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED;  		} else { -			input_regs(inputdev, regs);  			x = le16_to_cpu(get_unaligned((__le16 *) (data + 1)));  			y = le16_to_cpu(get_unaligned((__le16 *) (data + 3))); @@ -631,8 +626,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)  		z = le16_to_cpu(get_unaligned((__le16 *) (data + 4)));  		if (dv != 0) { -			input_regs(inputdev, regs); -  			/* If we've not already sent a tool_button_?? code, do  			 * so now. Then set FIRED_BIT so it won't be resent unless  			 * the user forces FIRED_BIT off. @@ -681,8 +674,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)  		macro = data[3];  		if (dv != 0) { -			input_regs(inputdev, regs); -  			/* If we've not already sent a tool_button_?? code, do  			 * so now. Then set FIRED_BIT so it won't be resent unless  			 * the user forces FIRED_BIT off. @@ -726,8 +717,6 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs)  	 */  	else if (data[0] == 6) {  		macro = le16_to_cpu(get_unaligned((__le16 *) (data + 1))); -		input_regs(inputdev, regs); -  		if (macro > 0) {  			input_report_key(inputdev, macroKeyEvents[macro - 1],  					 0); diff --git a/drivers/usb/input/appletouch.c b/drivers/usb/input/appletouch.c index 0aa9cc2bfd6..4c213513484 100644 --- a/drivers/usb/input/appletouch.c +++ b/drivers/usb/input/appletouch.c @@ -210,7 +210,7 @@ static inline void atp_report_fingers(struct input_dev *input, int fingers)  	input_report_key(input, BTN_TOOL_TRIPLETAP, fingers > 2);  } -static void atp_complete(struct urb* urb, struct pt_regs* regs) +static void atp_complete(struct urb* urb)  {  	int x, y, x_z, y_z, x_f, y_f;  	int retval, i, j; diff --git a/drivers/usb/input/ati_remote.c b/drivers/usb/input/ati_remote.c index 3558d7ed99b..f659f3028ad 100644 --- a/drivers/usb/input/ati_remote.c +++ b/drivers/usb/input/ati_remote.c @@ -283,9 +283,9 @@ static void ati_remote_dump		(unsigned char *data, unsigned int actual_length);  static int ati_remote_open		(struct input_dev *inputdev);  static void ati_remote_close		(struct input_dev *inputdev);  static int ati_remote_sendpacket	(struct ati_remote *ati_remote, u16 cmd, unsigned char *data); -static void ati_remote_irq_out		(struct urb *urb, struct pt_regs *regs); -static void ati_remote_irq_in		(struct urb *urb, struct pt_regs *regs); -static void ati_remote_input_report	(struct urb *urb, struct pt_regs *regs); +static void ati_remote_irq_out		(struct urb *urb); +static void ati_remote_irq_in		(struct urb *urb); +static void ati_remote_input_report	(struct urb *urb);  static int ati_remote_initialize	(struct ati_remote *ati_remote);  static int ati_remote_probe		(struct usb_interface *interface, const struct usb_device_id *id);  static void ati_remote_disconnect	(struct usb_interface *interface); @@ -344,7 +344,7 @@ static void ati_remote_close(struct input_dev *inputdev)  /*   *		ati_remote_irq_out   */ -static void ati_remote_irq_out(struct urb *urb, struct pt_regs *regs) +static void ati_remote_irq_out(struct urb *urb)  {  	struct ati_remote *ati_remote = urb->context; @@ -453,7 +453,7 @@ static int ati_remote_compute_accel(struct ati_remote *ati_remote)  /*   *	ati_remote_report_input   */ -static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs) +static void ati_remote_input_report(struct urb *urb)  {  	struct ati_remote *ati_remote = urb->context;  	unsigned char *data= ati_remote->inbuf; @@ -491,7 +491,6 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)  		remote_num, data[1], data[2], index, ati_remote_tbl[index].code);  	if (ati_remote_tbl[index].kind == KIND_LITERAL) { -		input_regs(dev, regs);  		input_event(dev, ati_remote_tbl[index].type,  			ati_remote_tbl[index].code,  			ati_remote_tbl[index].value); @@ -520,7 +519,6 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)  			return; -		input_regs(dev, regs);  		input_event(dev, ati_remote_tbl[index].type,  			ati_remote_tbl[index].code, 1);  		input_sync(dev); @@ -537,7 +535,6 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)  		 */  		acc = ati_remote_compute_accel(ati_remote); -		input_regs(dev, regs);  		switch (ati_remote_tbl[index].kind) {  		case KIND_ACCEL:  			input_event(dev, ati_remote_tbl[index].type, @@ -575,14 +572,14 @@ static void ati_remote_input_report(struct urb *urb, struct pt_regs *regs)  /*   *	ati_remote_irq_in   */ -static void ati_remote_irq_in(struct urb *urb, struct pt_regs *regs) +static void ati_remote_irq_in(struct urb *urb)  {  	struct ati_remote *ati_remote = urb->context;  	int retval;  	switch (urb->status) {  	case 0:			/* success */ -		ati_remote_input_report(urb, regs); +		ati_remote_input_report(urb);  		break;  	case -ECONNRESET:	/* unlink */  	case -ENOENT: diff --git a/drivers/usb/input/ati_remote2.c b/drivers/usb/input/ati_remote2.c index ea71de81ca6..f982a2b4a7f 100644 --- a/drivers/usb/input/ati_remote2.c +++ b/drivers/usb/input/ati_remote2.c @@ -142,7 +142,7 @@ static void ati_remote2_close(struct input_dev *idev)  	usb_kill_urb(ar2->urb[1]);  } -static void ati_remote2_input_mouse(struct ati_remote2 *ar2, struct pt_regs *regs) +static void ati_remote2_input_mouse(struct ati_remote2 *ar2)  {  	struct input_dev *idev = ar2->idev;  	u8 *data = ar2->buf[0]; @@ -157,7 +157,6 @@ static void ati_remote2_input_mouse(struct ati_remote2 *ar2, struct pt_regs *reg  	if (!((1 << data[0]) & mode_mask))  		return; -	input_regs(idev, regs);  	input_event(idev, EV_REL, REL_X, (s8) data[1]);  	input_event(idev, EV_REL, REL_Y, (s8) data[2]);  	input_sync(idev); @@ -174,7 +173,7 @@ static int ati_remote2_lookup(unsigned int hw_code)  	return -1;  } -static void ati_remote2_input_key(struct ati_remote2 *ar2, struct pt_regs *regs) +static void ati_remote2_input_key(struct ati_remote2 *ar2)  {  	struct input_dev *idev = ar2->idev;  	u8 *data = ar2->buf[1]; @@ -245,19 +244,18 @@ static void ati_remote2_input_key(struct ati_remote2 *ar2, struct pt_regs *regs)  		return;  	} -	input_regs(idev, regs);  	input_event(idev, EV_KEY, ati_remote2_key_table[index].key_code, data[1]);  	input_sync(idev);  } -static void ati_remote2_complete_mouse(struct urb *urb, struct pt_regs *regs) +static void ati_remote2_complete_mouse(struct urb *urb)  {  	struct ati_remote2 *ar2 = urb->context;  	int r;  	switch (urb->status) {  	case 0: -		ati_remote2_input_mouse(ar2, regs); +		ati_remote2_input_mouse(ar2);  		break;  	case -ENOENT:  	case -EILSEQ: @@ -277,14 +275,14 @@ static void ati_remote2_complete_mouse(struct urb *urb, struct pt_regs *regs)  			"%s(): usb_submit_urb() = %d\n", __FUNCTION__, r);  } -static void ati_remote2_complete_key(struct urb *urb, struct pt_regs *regs) +static void ati_remote2_complete_key(struct urb *urb)  {  	struct ati_remote2 *ar2 = urb->context;  	int r;  	switch (urb->status) {  	case 0: -		ati_remote2_input_key(ar2, regs); +		ati_remote2_input_key(ar2);  		break;  	case -ENOENT:  	case -EILSEQ: diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index e0fd11605b4..a6738a83ff5 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c @@ -780,13 +780,13 @@ static __inline__ int search(__s32 *array, __s32 value, unsigned n)  	return -1;  } -static void hid_process_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, int interrupt, struct pt_regs *regs) +static void hid_process_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, int interrupt)  {  	hid_dump_input(usage, value);  	if (hid->claimed & HID_CLAIMED_INPUT) -		hidinput_hid_event(hid, field, usage, value, regs); +		hidinput_hid_event(hid, field, usage, value);  	if (hid->claimed & HID_CLAIMED_HIDDEV && interrupt) -		hiddev_hid_event(hid, field, usage, value, regs); +		hiddev_hid_event(hid, field, usage, value);  }  /* @@ -795,7 +795,7 @@ static void hid_process_event(struct hid_device *hid, struct hid_field *field, s   * reporting to the layer).   */ -static void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt, struct pt_regs *regs) +static void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt)  {  	unsigned n;  	unsigned count = field->report_count; @@ -822,19 +822,19 @@ static void hid_input_field(struct hid_device *hid, struct hid_field *field, __u  	for (n = 0; n < count; n++) {  		if (HID_MAIN_ITEM_VARIABLE & field->flags) { -			hid_process_event(hid, field, &field->usage[n], value[n], interrupt, regs); +			hid_process_event(hid, field, &field->usage[n], value[n], interrupt);  			continue;  		}  		if (field->value[n] >= min && field->value[n] <= max  			&& field->usage[field->value[n] - min].hid  			&& search(value, field->value[n], count)) -				hid_process_event(hid, field, &field->usage[field->value[n] - min], 0, interrupt, regs); +				hid_process_event(hid, field, &field->usage[field->value[n] - min], 0, interrupt);  		if (value[n] >= min && value[n] <= max  			&& field->usage[value[n] - min].hid  			&& search(field->value, value[n], count)) -				hid_process_event(hid, field, &field->usage[value[n] - min], 1, interrupt, regs); +				hid_process_event(hid, field, &field->usage[value[n] - min], 1, interrupt);  	}  	memcpy(field->value, value, count * sizeof(__s32)); @@ -842,7 +842,7 @@ exit:  	kfree(value);  } -static int hid_input_report(int type, struct urb *urb, int interrupt, struct pt_regs *regs) +static int hid_input_report(int type, struct urb *urb, int interrupt)  {  	struct hid_device *hid = urb->context;  	struct hid_report_enum *report_enum = hid->report_enum + type; @@ -892,7 +892,7 @@ static int hid_input_report(int type, struct urb *urb, int interrupt, struct pt_  		hiddev_report_event(hid, report);  	for (n = 0; n < report->maxfield; n++) -		hid_input_field(hid, report->field[n], data, interrupt, regs); +		hid_input_field(hid, report->field[n], data, interrupt);  	if (hid->claimed & HID_CLAIMED_INPUT)  		hidinput_report_event(hid, report); @@ -1004,7 +1004,7 @@ done:   * Input interrupt completion handler.   */ -static void hid_irq_in(struct urb *urb, struct pt_regs *regs) +static void hid_irq_in(struct urb *urb)  {  	struct hid_device	*hid = urb->context;  	int			status; @@ -1012,7 +1012,7 @@ static void hid_irq_in(struct urb *urb, struct pt_regs *regs)  	switch (urb->status) {  		case 0:			/* success */  			hid->retry_delay = 0; -			hid_input_report(HID_INPUT_REPORT, urb, 1, regs); +			hid_input_report(HID_INPUT_REPORT, urb, 1);  			break;  		case -ECONNRESET:	/* unlink */  		case -ENOENT: @@ -1193,7 +1193,7 @@ static int hid_submit_ctrl(struct hid_device *hid)   * Output interrupt completion handler.   */ -static void hid_irq_out(struct urb *urb, struct pt_regs *regs) +static void hid_irq_out(struct urb *urb)  {  	struct hid_device *hid = urb->context;  	unsigned long flags; @@ -1238,7 +1238,7 @@ static void hid_irq_out(struct urb *urb, struct pt_regs *regs)   * Control pipe completion handler.   */ -static void hid_ctrl(struct urb *urb, struct pt_regs *regs) +static void hid_ctrl(struct urb *urb)  {  	struct hid_device *hid = urb->context;  	unsigned long flags; @@ -1249,7 +1249,7 @@ static void hid_ctrl(struct urb *urb, struct pt_regs *regs)  	switch (urb->status) {  		case 0:			/* success */  			if (hid->ctrl[hid->ctrltail].dir == USB_DIR_IN) -				hid_input_report(hid->ctrl[hid->ctrltail].report->type, urb, 0, regs); +				hid_input_report(hid->ctrl[hid->ctrltail].report->type, urb, 0);  			break;  		case -ESHUTDOWN:	/* unplug */  			unplug = 1; diff --git a/drivers/usb/input/hid-input.c b/drivers/usb/input/hid-input.c index 4c62afbeb43..9a808a3b4d3 100644 --- a/drivers/usb/input/hid-input.c +++ b/drivers/usb/input/hid-input.c @@ -613,7 +613,7 @@ ignore:  	return;  } -void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, struct pt_regs *regs) +void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value)  {  	struct input_dev *input;  	int *quirks = &hid->quirks; @@ -623,8 +623,6 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct  	input = field->hidinput->input; -	input_regs(input, regs); -  	if (!usage->type)  		return; diff --git a/drivers/usb/input/hid.h b/drivers/usb/input/hid.h index b03fd9b075d..9b50effef75 100644 --- a/drivers/usb/input/hid.h +++ b/drivers/usb/input/hid.h @@ -499,13 +499,13 @@ struct hid_descriptor {  /* Applications from HID Usage Tables 4/8/99 Version 1.1 */  /* We ignore a few input applications that are not widely used */  #define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <= 0x00010008)) || (a == 0x00010080) || (a == 0x000c0001)) -extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32, struct pt_regs *regs); +extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);  extern void hidinput_report_event(struct hid_device *hid, struct hid_report *report);  extern int hidinput_connect(struct hid_device *);  extern void hidinput_disconnect(struct hid_device *);  #else  #define IS_INPUT_APPLICATION(a) (0) -static inline void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, struct pt_regs *regs) { } +static inline void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value) { }  static inline void hidinput_report_event(struct hid_device *hid, struct hid_report *report) { }  static inline int hidinput_connect(struct hid_device *hid) { return -ENODEV; }  static inline void hidinput_disconnect(struct hid_device *hid) { } diff --git a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c index a2b419d1374..7dc14d0cacc 100644 --- a/drivers/usb/input/hiddev.c +++ b/drivers/usb/input/hiddev.c @@ -179,7 +179,7 @@ static void hiddev_send_event(struct hid_device *hid,   * the interrupt pipe   */  void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, -		      struct hid_usage *usage, __s32 value, struct pt_regs *regs) +		      struct hid_usage *usage, __s32 value)  {  	unsigned type = field->report_type;  	struct hiddev_usage_ref uref; diff --git a/drivers/usb/input/itmtouch.c b/drivers/usb/input/itmtouch.c index f3e3080de5b..aac968aab86 100644 --- a/drivers/usb/input/itmtouch.c +++ b/drivers/usb/input/itmtouch.c @@ -80,7 +80,7 @@ static struct usb_device_id itmtouch_ids [] = {  	{ }  }; -static void itmtouch_irq(struct urb *urb, struct pt_regs *regs) +static void itmtouch_irq(struct urb *urb)  {  	struct itmtouch_dev *itmtouch = urb->context;  	unsigned char *data = urb->transfer_buffer; @@ -109,8 +109,6 @@ static void itmtouch_irq(struct urb *urb, struct pt_regs *regs)  		goto exit;  	} -	input_regs(dev, regs); -  	/* if pressure has been released, then don't report X/Y */  	if (!(data[7] & 0x20)) {  		input_report_abs(dev, ABS_X, (data[0] & 0x1F) << 7 | (data[3] & 0x7F)); diff --git a/drivers/usb/input/kbtab.c b/drivers/usb/input/kbtab.c index 604ade356ea..fedbcb127c2 100644 --- a/drivers/usb/input/kbtab.c +++ b/drivers/usb/input/kbtab.c @@ -41,7 +41,7 @@ struct kbtab {  	char phys[32];  }; -static void kbtab_irq(struct urb *urb, struct pt_regs *regs) +static void kbtab_irq(struct urb *urb)  {  	struct kbtab *kbtab = urb->context;  	unsigned char *data = kbtab->data; diff --git a/drivers/usb/input/keyspan_remote.c b/drivers/usb/input/keyspan_remote.c index a9035955157..50aa8108a50 100644 --- a/drivers/usb/input/keyspan_remote.c +++ b/drivers/usb/input/keyspan_remote.c @@ -176,7 +176,7 @@ static int keyspan_load_tester(struct usb_keyspan* dev, int bits_needed)  /*   * Routine that handles all the logic needed to parse out the message from the remote.   */ -static void keyspan_check_data(struct usb_keyspan *remote, struct pt_regs *regs) +static void keyspan_check_data(struct usb_keyspan *remote)  {  	int i;  	int found = 0; @@ -311,7 +311,6 @@ static void keyspan_check_data(struct usb_keyspan *remote, struct pt_regs *regs)  			__FUNCTION__, message.system, message.button, message.toggle);  		if (message.toggle != remote->toggle) { -			input_regs(remote->input, regs);  			input_report_key(remote->input, keyspan_key_table[message.button], 1);  			input_report_key(remote->input, keyspan_key_table[message.button], 0);  			input_sync(remote->input); @@ -361,7 +360,7 @@ static int keyspan_setup(struct usb_device* dev)  /*   * Routine used to handle a new message that has come in.   */ -static void keyspan_irq_recv(struct urb *urb, struct pt_regs *regs) +static void keyspan_irq_recv(struct urb *urb)  {  	struct usb_keyspan *dev = urb->context;  	int retval; @@ -385,7 +384,7 @@ static void keyspan_irq_recv(struct urb *urb, struct pt_regs *regs)  	if (debug)  		keyspan_print(dev); -	keyspan_check_data(dev, regs); +	keyspan_check_data(dev);  resubmit:  	retval = usb_submit_urb(urb, GFP_ATOMIC); diff --git a/drivers/usb/input/mtouchusb.c b/drivers/usb/input/mtouchusb.c index 5dce951f275..79a85d46cb1 100644 --- a/drivers/usb/input/mtouchusb.c +++ b/drivers/usb/input/mtouchusb.c @@ -98,7 +98,7 @@ static struct usb_device_id mtouchusb_devices[] = {  	{ }  }; -static void mtouchusb_irq(struct urb *urb, struct pt_regs *regs) +static void mtouchusb_irq(struct urb *urb)  {  	struct mtouch_usb *mtouch = urb->context;  	int retval; @@ -125,7 +125,6 @@ static void mtouchusb_irq(struct urb *urb, struct pt_regs *regs)  		goto exit;  	} -	input_regs(mtouch->input, regs);  	input_report_key(mtouch->input, BTN_TOUCH,  			 MTOUCHUSB_GET_TOUCHED(mtouch->data));  	input_report_abs(mtouch->input, ABS_X, MTOUCHUSB_GET_XC(mtouch->data)); diff --git a/drivers/usb/input/powermate.c b/drivers/usb/input/powermate.c index f0f8db6810a..0bf91778c40 100644 --- a/drivers/usb/input/powermate.c +++ b/drivers/usb/input/powermate.c @@ -80,10 +80,10 @@ struct powermate_device {  static char pm_name_powermate[] = "Griffin PowerMate";  static char pm_name_soundknob[] = "Griffin SoundKnob"; -static void powermate_config_complete(struct urb *urb, struct pt_regs *regs); +static void powermate_config_complete(struct urb *urb);  /* Callback for data arriving from the PowerMate over the USB interrupt pipe */ -static void powermate_irq(struct urb *urb, struct pt_regs *regs) +static void powermate_irq(struct urb *urb)  {  	struct powermate_device *pm = urb->context;  	int retval; @@ -104,7 +104,6 @@ static void powermate_irq(struct urb *urb, struct pt_regs *regs)  	}  	/* handle updates to device state */ -	input_regs(pm->input, regs);  	input_report_key(pm->input, BTN_0, pm->data[0] & 0x01);  	input_report_rel(pm->input, REL_DIAL, pm->data[1]);  	input_sync(pm->input); @@ -191,7 +190,7 @@ static void powermate_sync_state(struct powermate_device *pm)  }  /* Called when our asynchronous control message completes. We may need to issue another immediately */ -static void powermate_config_complete(struct urb *urb, struct pt_regs *regs) +static void powermate_config_complete(struct urb *urb)  {  	struct powermate_device *pm = urb->context;  	unsigned long flags; diff --git a/drivers/usb/input/touchkitusb.c b/drivers/usb/input/touchkitusb.c index 30b9f820e7a..05c0d1ca39a 100644 --- a/drivers/usb/input/touchkitusb.c +++ b/drivers/usb/input/touchkitusb.c @@ -92,8 +92,7 @@ static inline int touchkit_get_y(char *data)  /* processes one input packet. */ -static void touchkit_process_pkt(struct touchkit_usb *touchkit, -                                 struct pt_regs *regs, char *pkt) +static void touchkit_process_pkt(struct touchkit_usb *touchkit, char *pkt)  {  	int x, y; @@ -109,7 +108,6 @@ static void touchkit_process_pkt(struct touchkit_usb *touchkit,  		y = touchkit_get_y(pkt);  	} -	input_regs(touchkit->input, regs);  	input_report_key(touchkit->input, BTN_TOUCH, touchkit_get_touched(pkt));  	input_report_abs(touchkit->input, ABS_X, x);  	input_report_abs(touchkit->input, ABS_Y, y); @@ -130,8 +128,7 @@ static int touchkit_get_pkt_len(char *buf)  	return 0;  } -static void touchkit_process(struct touchkit_usb *touchkit, int len, -                             struct pt_regs *regs) +static void touchkit_process(struct touchkit_usb *touchkit, int len)  {  	char *buffer;  	int pkt_len, buf_len, pos; @@ -153,7 +150,7 @@ static void touchkit_process(struct touchkit_usb *touchkit, int len,  		/* append, process */  		tmp = pkt_len - touchkit->buf_len;  		memcpy(touchkit->buffer + touchkit->buf_len, touchkit->data, tmp); -		touchkit_process_pkt(touchkit, regs, touchkit->buffer); +		touchkit_process_pkt(touchkit, touchkit->buffer);  		buffer = touchkit->data + tmp;  		buf_len = len - tmp; @@ -181,7 +178,7 @@ static void touchkit_process(struct touchkit_usb *touchkit, int len,  		/* full packet: process */  		if (likely(pkt_len <= buf_len)) { -			touchkit_process_pkt(touchkit, regs, buffer + pos); +			touchkit_process_pkt(touchkit, buffer + pos);  		} else {  			/* incomplete packet: save in buffer */  			memcpy(touchkit->buffer, buffer + pos, buf_len - pos); @@ -192,7 +189,7 @@ static void touchkit_process(struct touchkit_usb *touchkit, int len,  } -static void touchkit_irq(struct urb *urb, struct pt_regs *regs) +static void touchkit_irq(struct urb *urb)  {  	struct touchkit_usb *touchkit = urb->context;  	int retval; @@ -219,7 +216,7 @@ static void touchkit_irq(struct urb *urb, struct pt_regs *regs)  		goto exit;  	} -	touchkit_process(touchkit, urb->actual_length, regs); +	touchkit_process(touchkit, urb->actual_length);  exit:  	retval = usb_submit_urb(urb, GFP_ATOMIC); diff --git a/drivers/usb/input/usbkbd.c b/drivers/usb/input/usbkbd.c index 5067a6ae650..c73285cf855 100644 --- a/drivers/usb/input/usbkbd.c +++ b/drivers/usb/input/usbkbd.c @@ -80,7 +80,7 @@ struct usb_kbd {  	dma_addr_t leds_dma;  }; -static void usb_kbd_irq(struct urb *urb, struct pt_regs *regs) +static void usb_kbd_irq(struct urb *urb)  {  	struct usb_kbd *kbd = urb->context;  	int i; @@ -97,8 +97,6 @@ static void usb_kbd_irq(struct urb *urb, struct pt_regs *regs)  		goto resubmit;  	} -	input_regs(kbd->dev, regs); -  	for (i = 0; i < 8; i++)  		input_report_key(kbd->dev, usb_kbd_keycode[i + 224], (kbd->new[0] >> i) & 1); @@ -158,7 +156,7 @@ static int usb_kbd_event(struct input_dev *dev, unsigned int type,  	return 0;  } -static void usb_kbd_led(struct urb *urb, struct pt_regs *regs) +static void usb_kbd_led(struct urb *urb)  {  	struct usb_kbd *kbd = urb->context; diff --git a/drivers/usb/input/usbmouse.c b/drivers/usb/input/usbmouse.c index 0fb792be95e..cbbbea332ed 100644 --- a/drivers/usb/input/usbmouse.c +++ b/drivers/usb/input/usbmouse.c @@ -55,7 +55,7 @@ struct usb_mouse {  	dma_addr_t data_dma;  }; -static void usb_mouse_irq(struct urb *urb, struct pt_regs *regs) +static void usb_mouse_irq(struct urb *urb)  {  	struct usb_mouse *mouse = urb->context;  	signed char *data = mouse->data; @@ -74,8 +74,6 @@ static void usb_mouse_irq(struct urb *urb, struct pt_regs *regs)  		goto resubmit;  	} -	input_regs(dev, regs); -  	input_report_key(dev, BTN_LEFT,   data[0] & 0x01);  	input_report_key(dev, BTN_RIGHT,  data[0] & 0x02);  	input_report_key(dev, BTN_MIDDLE, data[0] & 0x04); diff --git a/drivers/usb/input/usbtouchscreen.c b/drivers/usb/input/usbtouchscreen.c index 923e22db18d..f26c1cd1129 100644 --- a/drivers/usb/input/usbtouchscreen.c +++ b/drivers/usb/input/usbtouchscreen.c @@ -61,7 +61,7 @@ struct usbtouch_device_info {  	int rept_size;  	int flags; -	void (*process_pkt) (struct usbtouch_usb *usbtouch, struct pt_regs *regs, unsigned char *pkt, int len); +	void (*process_pkt) (struct usbtouch_usb *usbtouch, unsigned char *pkt, int len);  	int  (*get_pkt_len) (unsigned char *pkt, int len);  	int  (*read_data)   (unsigned char *pkt, int *x, int *y, int *touch, int *press);  	int  (*init)        (struct usbtouch_usb *usbtouch); @@ -91,7 +91,6 @@ struct usbtouch_usb {  #ifdef MULTI_PACKET  static void usbtouch_process_multi(struct usbtouch_usb *usbtouch, -                                   struct pt_regs *regs,                                     unsigned char *pkt, int len);  #endif @@ -397,7 +396,7 @@ static struct usbtouch_device_info usbtouch_dev_info[] = {   * Generic Part   */  static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch, -                                 struct pt_regs *regs, unsigned char *pkt, int len) +                                 unsigned char *pkt, int len)  {  	int x, y, touch, press;  	struct usbtouch_device_info *type = usbtouch->type; @@ -405,7 +404,6 @@ static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch,  	if (!type->read_data(pkt, &x, &y, &touch, &press))  			return; -	input_regs(usbtouch->input, regs);  	input_report_key(usbtouch->input, BTN_TOUCH, touch);  	if (swap_xy) { @@ -423,7 +421,6 @@ static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch,  #ifdef MULTI_PACKET  static void usbtouch_process_multi(struct usbtouch_usb *usbtouch, -                                   struct pt_regs *regs,                                     unsigned char *pkt, int len)  {  	unsigned char *buffer; @@ -460,7 +457,7 @@ static void usbtouch_process_multi(struct usbtouch_usb *usbtouch,  		if (usbtouch->buf_len + tmp >= usbtouch->type->rept_size)  			goto out_flush_buf;  		memcpy(usbtouch->buffer + usbtouch->buf_len, pkt, tmp); -		usbtouch_process_pkt(usbtouch, regs, usbtouch->buffer, pkt_len); +		usbtouch_process_pkt(usbtouch, usbtouch->buffer, pkt_len);  		buffer = pkt + tmp;  		buf_len = len - tmp; @@ -481,7 +478,7 @@ static void usbtouch_process_multi(struct usbtouch_usb *usbtouch,  		/* full packet: process */  		if (likely((pkt_len > 0) && (pkt_len <= buf_len - pos))) { -			usbtouch_process_pkt(usbtouch, regs, buffer + pos, pkt_len); +			usbtouch_process_pkt(usbtouch, buffer + pos, pkt_len);  		} else {  			/* incomplete packet: save in buffer */  			memcpy(usbtouch->buffer, buffer + pos, buf_len - pos); @@ -498,7 +495,7 @@ out_flush_buf:  #endif -static void usbtouch_irq(struct urb *urb, struct pt_regs *regs) +static void usbtouch_irq(struct urb *urb)  {  	struct usbtouch_usb *usbtouch = urb->context;  	int retval; @@ -525,7 +522,7 @@ static void usbtouch_irq(struct urb *urb, struct pt_regs *regs)  		goto exit;  	} -	usbtouch->type->process_pkt(usbtouch, regs, usbtouch->data, urb->actual_length); +	usbtouch->type->process_pkt(usbtouch, usbtouch->data, urb->actual_length);  exit:  	retval = usb_submit_urb(urb, GFP_ATOMIC); diff --git a/drivers/usb/input/wacom.h b/drivers/usb/input/wacom.h index 832737b658c..7b3840e378a 100644 --- a/drivers/usb/input/wacom.h +++ b/drivers/usb/input/wacom.h @@ -106,16 +106,14 @@ struct wacom {  struct wacom_combo {  	struct wacom * wacom;  	struct urb * urb; -	struct pt_regs *regs;  };  extern int wacom_wac_irq(struct wacom_wac * wacom_wac, void * wcombo); -extern void wacom_sys_irq(struct urb *urb, struct pt_regs *regs); +extern void wacom_sys_irq(struct urb *urb);  extern void wacom_report_abs(void *wcombo, unsigned int abs_type, int abs_data);  extern void wacom_report_rel(void *wcombo, unsigned int rel_type, int rel_data);  extern void wacom_report_key(void *wcombo, unsigned int key_type, int key_data);  extern void wacom_input_event(void *wcombo, unsigned int type, unsigned int code, int value); -extern void wacom_input_regs(void *wcombo);  extern void wacom_input_sync(void *wcombo);  extern void wacom_init_input_dev(struct input_dev *input_dev, struct wacom_wac *wacom_wac);  extern void input_dev_g4(struct input_dev *input_dev, struct wacom_wac *wacom_wac); diff --git a/drivers/usb/input/wacom_sys.c b/drivers/usb/input/wacom_sys.c index 7c3b52bdd9d..d233c37bd53 100644 --- a/drivers/usb/input/wacom_sys.c +++ b/drivers/usb/input/wacom_sys.c @@ -42,7 +42,7 @@ static struct input_dev * get_input_dev(struct wacom_combo *wcombo)  	return wcombo->wacom->dev;  } -void wacom_sys_irq(struct urb *urb, struct pt_regs *regs) +void wacom_sys_irq(struct urb *urb)  {  	struct wacom *wacom = urb->context;  	struct wacom_combo wcombo; @@ -65,7 +65,6 @@ void wacom_sys_irq(struct urb *urb, struct pt_regs *regs)  	wcombo.wacom = wacom;  	wcombo.urb = urb; -	wcombo.regs = regs;  	if (wacom_wac_irq(wacom->wacom_wac, (void *)&wcombo))  		input_sync(get_input_dev(&wcombo)); @@ -115,12 +114,6 @@ __u16 wacom_le16_to_cpu(unsigned char *data)  	return value;  } -void wacom_input_regs(void *wcombo) -{ -	input_regs(get_input_dev((struct wacom_combo *)wcombo), ((struct wacom_combo *)wcombo)->regs); -	return; -} -  void wacom_input_sync(void *wcombo)  {  	input_sync(get_input_dev((struct wacom_combo *)wcombo)); diff --git a/drivers/usb/input/wacom_wac.c b/drivers/usb/input/wacom_wac.c index 85d458c98b6..aa31d22d4f0 100644 --- a/drivers/usb/input/wacom_wac.c +++ b/drivers/usb/input/wacom_wac.c @@ -20,7 +20,6 @@ static int wacom_penpartner_irq(struct wacom_wac *wacom, void *wcombo)  	switch (data[0]) {  		case 1: -			wacom_input_regs(wcombo);  			if (data[5] & 0x80) {  				wacom->tool[0] = (data[5] & 0x20) ? BTN_TOOL_RUBBER : BTN_TOOL_PEN;  				wacom->id[0] = (data[5] & 0x20) ? ERASER_DEVICE_ID : STYLUS_DEVICE_ID; @@ -39,7 +38,6 @@ static int wacom_penpartner_irq(struct wacom_wac *wacom, void *wcombo)  			}  			break;  		case 2: -			wacom_input_regs(wcombo);  			wacom_report_key(wcombo, BTN_TOOL_PEN, 1);  			wacom_report_abs(wcombo, ABS_MISC, STYLUS_DEVICE_ID); /* report tool id */  			wacom_report_abs(wcombo, ABS_X, wacom_le16_to_cpu(&data[1])); @@ -67,8 +65,6 @@ static int wacom_pl_irq(struct wacom_wac *wacom, void *wcombo)  	prox = data[1] & 0x40; -	wacom_input_regs(wcombo); -  	id = ERASER_DEVICE_ID;  	if (prox) { @@ -138,7 +134,6 @@ static int wacom_ptu_irq(struct wacom_wac *wacom, void *wcombo)  		return 0;  	} -	wacom_input_regs(wcombo);  	if (data[1] & 0x04) {  		wacom_report_key(wcombo, BTN_TOOL_RUBBER, data[1] & 0x20);  		wacom_report_key(wcombo, BTN_TOUCH, data[1] & 0x08); @@ -167,8 +162,6 @@ static int wacom_graphire_irq(struct wacom_wac *wacom, void *wcombo)  		return 0;  	} -	wacom_input_regs(wcombo); -  	id = STYLUS_DEVICE_ID;  	if (data[1] & 0x10) { /* in prox */ @@ -369,8 +362,6 @@ static int wacom_intuos_irq(struct wacom_wac *wacom, void *wcombo)                  return 0;  	} -	wacom_input_regs(wcombo); -  	/* tool number */  	idx = data[1] & 0x01; diff --git a/drivers/usb/input/xpad.c b/drivers/usb/input/xpad.c index 9889b1cda05..cebb6c463bf 100644 --- a/drivers/usb/input/xpad.c +++ b/drivers/usb/input/xpad.c @@ -120,12 +120,10 @@ struct usb_xpad {   *	 http://euc.jp/periphs/xbox-controller.ja.html   */ -static void xpad_process_packet(struct usb_xpad *xpad, u16 cmd, unsigned char *data, struct pt_regs *regs) +static void xpad_process_packet(struct usb_xpad *xpad, u16 cmd, unsigned char *data)  {  	struct input_dev *dev = xpad->dev; -	input_regs(dev, regs); -  	/* left stick */  	input_report_abs(dev, ABS_X, (__s16) (((__s16)data[13] << 8) | data[12]));  	input_report_abs(dev, ABS_Y, (__s16) (((__s16)data[15] << 8) | data[14])); @@ -161,7 +159,7 @@ static void xpad_process_packet(struct usb_xpad *xpad, u16 cmd, unsigned char *d  	input_sync(dev);  } -static void xpad_irq_in(struct urb *urb, struct pt_regs *regs) +static void xpad_irq_in(struct urb *urb)  {  	struct usb_xpad *xpad = urb->context;  	int retval; @@ -181,7 +179,7 @@ static void xpad_irq_in(struct urb *urb, struct pt_regs *regs)  		goto exit;  	} -	xpad_process_packet(xpad, 0, xpad->idata, regs); +	xpad_process_packet(xpad, 0, xpad->idata);  exit:  	retval = usb_submit_urb (urb, GFP_ATOMIC); diff --git a/drivers/usb/input/yealink.c b/drivers/usb/input/yealink.c index 7291e7a2717..905bf639825 100644 --- a/drivers/usb/input/yealink.c +++ b/drivers/usb/input/yealink.c @@ -233,11 +233,10 @@ static int map_p1k_to_key(int scancode)   *   * The key parameter can be cascaded: key2 << 8 | key1   */ -static void report_key(struct yealink_dev *yld, int key, struct pt_regs *regs) +static void report_key(struct yealink_dev *yld, int key)  {  	struct input_dev *idev = yld->idev; -	input_regs(idev, regs);  	if (yld->key_code >= 0) {  		/* old key up */  		input_report_key(idev, yld->key_code & 0xff, 0); @@ -422,7 +421,7 @@ send_update:   * error,start   *   */ -static void urb_irq_callback(struct urb *urb, struct pt_regs *regs) +static void urb_irq_callback(struct urb *urb)  {  	struct yealink_dev *yld = urb->context;  	int ret; @@ -439,7 +438,7 @@ static void urb_irq_callback(struct urb *urb, struct pt_regs *regs)  	case CMD_SCANCODE:  		dbg("get scancode %x", yld->irq_data->data[0]); -		report_key(yld, map_p1k_to_key(yld->irq_data->data[0]), regs); +		report_key(yld, map_p1k_to_key(yld->irq_data->data[0]));  		break;  	default: @@ -453,7 +452,7 @@ static void urb_irq_callback(struct urb *urb, struct pt_regs *regs)  		err("%s - usb_submit_urb failed %d", __FUNCTION__, ret);  } -static void urb_ctl_callback(struct urb *urb, struct pt_regs *regs) +static void urb_ctl_callback(struct urb *urb)  {  	struct yealink_dev *yld = urb->context;  	int ret; diff --git a/drivers/usb/misc/adutux.c b/drivers/usb/misc/adutux.c index d3963199b6e..aecd633fe9f 100644 --- a/drivers/usb/misc/adutux.c +++ b/drivers/usb/misc/adutux.c @@ -177,7 +177,7 @@ static void adu_delete(struct adu_device *dev)  	dbg(2, "%s : leave", __FUNCTION__);  } -static void adu_interrupt_in_callback(struct urb *urb, struct pt_regs *regs) +static void adu_interrupt_in_callback(struct urb *urb)  {  	struct adu_device *dev = urb->context; @@ -221,7 +221,7 @@ exit:  	dbg(4," %s : leave, status %d", __FUNCTION__, urb->status);  } -static void adu_interrupt_out_callback(struct urb *urb, struct pt_regs *regs) +static void adu_interrupt_out_callback(struct urb *urb)  {  	struct adu_device *dev = urb->context; diff --git a/drivers/usb/misc/appledisplay.c b/drivers/usb/misc/appledisplay.c index fc6cc147996..6b23a1def9f 100644 --- a/drivers/usb/misc/appledisplay.c +++ b/drivers/usb/misc/appledisplay.c @@ -84,7 +84,7 @@ struct appledisplay {  static atomic_t count_displays = ATOMIC_INIT(0);  static struct workqueue_struct *wq; -static void appledisplay_complete(struct urb *urb, struct pt_regs *regs) +static void appledisplay_complete(struct urb *urb)  {  	struct appledisplay *pdata = urb->context;  	unsigned long flags; diff --git a/drivers/usb/misc/auerswald.c b/drivers/usb/misc/auerswald.c index 4fd2110b341..0be9d62d62a 100644 --- a/drivers/usb/misc/auerswald.c +++ b/drivers/usb/misc/auerswald.c @@ -267,7 +267,7 @@ typedef struct  /*-------------------------------------------------------------------*/  /* Forwards */ -static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs); +static void auerswald_ctrlread_complete (struct urb * urb);  static void auerswald_removeservice (pauerswald_t cp, pauerscon_t scp);  static struct usb_driver auerswald_driver; @@ -277,7 +277,7 @@ static struct usb_driver auerswald_driver;  /* --------------------------                                        */  /* completion function for chained urbs */ -static void auerchain_complete (struct urb * urb, struct pt_regs *regs) +static void auerchain_complete (struct urb * urb)  {  	unsigned long flags;          int result; @@ -296,7 +296,7 @@ static void auerchain_complete (struct urb * urb, struct pt_regs *regs)             NOTE: this function may lead to more urbs submitted into the chain.                   (no chain lock at calling complete()!)                   acp->active != NULL is protecting us against recursion.*/ -        urb->complete (urb, regs); +        urb->complete (urb);          /* detach element from chain data structure */  	spin_lock_irqsave (&acp->lock, flags); @@ -331,7 +331,7 @@ static void auerchain_complete (struct urb * urb, struct pt_regs *regs)                          urb->status = result;                          dbg("auerchain_complete: usb_submit_urb with error code %d", result);                          /* and do error handling via *this* completion function (recursive) */ -                        auerchain_complete( urb, NULL); +                        auerchain_complete( urb);                  }          } else {                  /* simple return without submitting a new urb. @@ -408,7 +408,7 @@ static int auerchain_submit_urb_list (pauerchain_t acp, struct urb * urb, int ea                          urb->status = result;                          dbg("auerchain_submit_urb: usb_submit_urb with error code %d", result);                          /* and do error handling via completion function */ -                        auerchain_complete( urb, NULL); +                        auerchain_complete( urb);                  }          } @@ -448,7 +448,7 @@ static int auerchain_unlink_urb (pauerchain_t acp, struct urb * urb)                          spin_unlock_irqrestore (&acp->lock, flags);                          dbg ("unlink waiting urb");                          urb->status = -ENOENT; -                        urb->complete (urb, NULL); +                        urb->complete (urb);                          return 0;                  }          } @@ -505,7 +505,7 @@ static void auerchain_unlink_all (pauerchain_t acp)                  spin_unlock_irqrestore (&acp->lock, flags);                  dbg ("unlink waiting urb");                  urbp->status = -ENOENT; -                urbp->complete (urbp, NULL); +                urbp->complete (urbp);                  spin_lock_irqsave (&acp->lock, flags);          }          spin_unlock_irqrestore (&acp->lock, flags); @@ -591,7 +591,7 @@ ac_fail:/* free the elements */  /* completion handler for synchronous chained URBs */ -static void auerchain_blocking_completion (struct urb *urb, struct pt_regs *regs) +static void auerchain_blocking_completion (struct urb *urb)  {  	pauerchain_chs_t pchs = (pauerchain_chs_t)urb->context;  	pchs->done = 1; @@ -846,7 +846,7 @@ static int auerswald_status_retry (int status)  }  /* Completion of asynchronous write block */ -static void auerchar_ctrlwrite_complete (struct urb * urb, struct pt_regs *regs) +static void auerchar_ctrlwrite_complete (struct urb * urb)  {  	pauerbuf_t bp = (pauerbuf_t) urb->context;  	pauerswald_t cp = ((pauerswald_t)((char *)(bp->list)-(unsigned long)(&((pauerswald_t)0)->bufctl))); @@ -859,7 +859,7 @@ static void auerchar_ctrlwrite_complete (struct urb * urb, struct pt_regs *regs)  }  /* Completion handler for dummy retry packet */ -static void auerswald_ctrlread_wretcomplete (struct urb * urb, struct pt_regs *regs) +static void auerswald_ctrlread_wretcomplete (struct urb * urb)  {          pauerbuf_t bp = (pauerbuf_t) urb->context;          pauerswald_t cp; @@ -893,12 +893,12 @@ static void auerswald_ctrlread_wretcomplete (struct urb * urb, struct pt_regs *r          if (ret) {          	dbg ("auerswald_ctrlread_complete: nonzero result of auerchain_submit_urb_list %d", ret);          	bp->urbp->status = ret; -        	auerswald_ctrlread_complete (bp->urbp, NULL); +        	auerswald_ctrlread_complete (bp->urbp);      	}  }  /* completion handler for receiving of control messages */ -static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs) +static void auerswald_ctrlread_complete (struct urb * urb)  {          unsigned int  serviceid;          pauerswald_t  cp; @@ -941,7 +941,7 @@ static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs)         		if (ret) {                 		dbg ("auerswald_ctrlread_complete: nonzero result of auerchain_submit_urb_list %d", ret);                 		bp->urbp->status = ret; -               		auerswald_ctrlread_wretcomplete (bp->urbp, regs); +               		auerswald_ctrlread_wretcomplete (bp->urbp);  		}                  return;          } @@ -970,7 +970,7 @@ static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs)     messages from the USB device.  */  /* int completion handler. */ -static void auerswald_int_complete (struct urb * urb, struct pt_regs *regs) +static void auerswald_int_complete (struct urb * urb)  {          unsigned long flags;          unsigned  int channelid; @@ -1070,7 +1070,7 @@ static void auerswald_int_complete (struct urb * urb, struct pt_regs *regs)          if (ret) {                  dbg ("auerswald_int_complete: nonzero result of auerchain_submit_urb %d", ret);                  bp->urbp->status = ret; -                auerswald_ctrlread_complete( bp->urbp, NULL); +                auerswald_ctrlread_complete( bp->urbp);  		/* here applies the same problem as above: device locking! */          }  exit: diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c index c6f2f488a40..0eb26a26115 100644 --- a/drivers/usb/misc/ftdi-elan.c +++ b/drivers/usb/misc/ftdi-elan.c @@ -758,7 +758,7 @@ static ssize_t ftdi_elan_read(struct file *file, char __user *buffer,                  return bytes_read;  } -static void ftdi_elan_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void ftdi_elan_write_bulk_callback(struct urb *urb)  {          struct usb_ftdi *ftdi = (struct usb_ftdi *)urb->context;          if (urb->status && !(urb->status == -ENOENT || urb->status == diff --git a/drivers/usb/misc/ldusb.c b/drivers/usb/misc/ldusb.c index 10b640339d8..788a11e6772 100644 --- a/drivers/usb/misc/ldusb.c +++ b/drivers/usb/misc/ldusb.c @@ -212,7 +212,7 @@ static void ld_usb_delete(struct ld_usb *dev)  /**   *	ld_usb_interrupt_in_callback   */ -static void ld_usb_interrupt_in_callback(struct urb *urb, struct pt_regs *regs) +static void ld_usb_interrupt_in_callback(struct urb *urb)  {  	struct ld_usb *dev = urb->context;  	size_t *actual_buffer; @@ -264,7 +264,7 @@ exit:  /**   *	ld_usb_interrupt_out_callback   */ -static void ld_usb_interrupt_out_callback(struct urb *urb, struct pt_regs *regs) +static void ld_usb_interrupt_out_callback(struct urb *urb)  {  	struct ld_usb *dev = urb->context; diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c index 77c36e63c7b..27089497e71 100644 --- a/drivers/usb/misc/legousbtower.c +++ b/drivers/usb/misc/legousbtower.c @@ -248,8 +248,8 @@ static loff_t tower_llseek	(struct file *file, loff_t off, int whence);  static void tower_abort_transfers (struct lego_usb_tower *dev);  static void tower_check_for_read_packet (struct lego_usb_tower *dev); -static void tower_interrupt_in_callback (struct urb *urb, struct pt_regs *regs); -static void tower_interrupt_out_callback (struct urb *urb, struct pt_regs *regs); +static void tower_interrupt_in_callback (struct urb *urb); +static void tower_interrupt_out_callback (struct urb *urb);  static int  tower_probe	(struct usb_interface *interface, const struct usb_device_id *id);  static void tower_disconnect	(struct usb_interface *interface); @@ -755,7 +755,7 @@ exit:  /**   *	tower_interrupt_in_callback   */ -static void tower_interrupt_in_callback (struct urb *urb, struct pt_regs *regs) +static void tower_interrupt_in_callback (struct urb *urb)  {  	struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context;  	int retval; @@ -811,7 +811,7 @@ exit:  /**   *	tower_interrupt_out_callback   */ -static void tower_interrupt_out_callback (struct urb *urb, struct pt_regs *regs) +static void tower_interrupt_out_callback (struct urb *urb)  {  	struct lego_usb_tower *dev = (struct lego_usb_tower *)urb->context; diff --git a/drivers/usb/misc/phidgetkit.c b/drivers/usb/misc/phidgetkit.c index 78e419904ab..abb4dcd811a 100644 --- a/drivers/usb/misc/phidgetkit.c +++ b/drivers/usb/misc/phidgetkit.c @@ -300,7 +300,7 @@ out:  static DEVICE_ATTR(lcd, S_IWUGO, NULL, enable_lcd_files); -static void interfacekit_irq(struct urb *urb, struct pt_regs *regs) +static void interfacekit_irq(struct urb *urb)  {  	struct interfacekit *kit = urb->context;  	unsigned char *buffer = kit->data; diff --git a/drivers/usb/misc/phidgetmotorcontrol.c b/drivers/usb/misc/phidgetmotorcontrol.c index 6b59b620d61..5c780cab92e 100644 --- a/drivers/usb/misc/phidgetmotorcontrol.c +++ b/drivers/usb/misc/phidgetmotorcontrol.c @@ -90,7 +90,7 @@ static int set_motor(struct motorcontrol *mc, int motor)  	return retval < 0 ? retval : 0;  } -static void motorcontrol_irq(struct urb *urb, struct pt_regs *regs) +static void motorcontrol_irq(struct urb *urb)  {  	struct motorcontrol *mc = urb->context;  	unsigned char *buffer = mc->data; diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c index a287836e39f..b99ca9c7982 100644 --- a/drivers/usb/misc/sisusbvga/sisusb.c +++ b/drivers/usb/misc/sisusbvga/sisusb.c @@ -209,7 +209,7 @@ sisusb_free_outbuf(struct sisusb_usb_data *sisusb, int index)  /* completion callback */  static void -sisusb_bulk_completeout(struct urb *urb, struct pt_regs *regs) +sisusb_bulk_completeout(struct urb *urb)  {  	struct sisusb_urb_context *context = urb->context;  	struct sisusb_usb_data *sisusb; @@ -288,7 +288,7 @@ sisusb_bulkout_msg(struct sisusb_usb_data *sisusb, int index, unsigned int pipe,  /* completion callback */  static void -sisusb_bulk_completein(struct urb *urb, struct pt_regs *regs) +sisusb_bulk_completein(struct urb *urb)  {  	struct sisusb_usb_data *sisusb = urb->context; diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c index dbaca9f1efa..ada2ebc464a 100644 --- a/drivers/usb/misc/usblcd.c +++ b/drivers/usb/misc/usblcd.c @@ -165,7 +165,7 @@ static int lcd_ioctl(struct inode *inode, struct file *file, unsigned int cmd, u  	return 0;  } -static void lcd_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void lcd_write_bulk_callback(struct urb *urb)  {  	struct usb_lcd *dev; diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 983e104dd45..7c2cbdf81d2 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -198,7 +198,7 @@ found:   * them with non-zero test data (or test for it) when appropriate.   */ -static void simple_callback (struct urb *urb, struct pt_regs *regs) +static void simple_callback (struct urb *urb)  {  	complete ((struct completion *) urb->context);  } @@ -730,7 +730,7 @@ struct subcase {  	int			expected;  }; -static void ctrl_complete (struct urb *urb, struct pt_regs *regs) +static void ctrl_complete (struct urb *urb)  {  	struct ctrl_ctx		*ctx = urb->context;  	struct usb_ctrlrequest	*reqp; @@ -1035,7 +1035,7 @@ cleanup:  /*-------------------------------------------------------------------------*/ -static void unlink1_callback (struct urb *urb, struct pt_regs *regs) +static void unlink1_callback (struct urb *urb)  {  	int	status = urb->status; @@ -1343,7 +1343,7 @@ struct iso_context {  	struct usbtest_dev	*dev;  }; -static void iso_callback (struct urb *urb, struct pt_regs *regs) +static void iso_callback (struct urb *urb)  {  	struct iso_context	*ctx = urb->context; diff --git a/drivers/usb/misc/uss720.c b/drivers/usb/misc/uss720.c index 4081990b7d1..7e8a0acd52e 100644 --- a/drivers/usb/misc/uss720.c +++ b/drivers/usb/misc/uss720.c @@ -106,7 +106,7 @@ static void destroy_async(struct kref *kref)  /* --------------------------------------------------------------------- */ -static void async_complete(struct urb *urb, struct pt_regs *ptregs) +static void async_complete(struct urb *urb)  {  	struct uss720_async_request *rq;  	struct parport *pp; @@ -127,7 +127,7 @@ static void async_complete(struct urb *urb, struct pt_regs *ptregs)  #endif  		/* if nAck interrupts are enabled and we have an interrupt, call the interrupt procedure */  		if (rq->reg[2] & rq->reg[1] & 0x10 && pp) -			parport_generic_irq(0, pp, NULL); +			parport_generic_irq(0, pp);  	}  	complete(&rq->compl);  	kref_put(&rq->ref_count, destroy_async); diff --git a/drivers/usb/net/asix.c b/drivers/usb/net/asix.c index 9c0eacf7055..c73dd224aa7 100644 --- a/drivers/usb/net/asix.c +++ b/drivers/usb/net/asix.c @@ -214,7 +214,7 @@ static int asix_write_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,  		USB_CTRL_SET_TIMEOUT);  } -static void asix_async_cmd_callback(struct urb *urb, struct pt_regs *regs) +static void asix_async_cmd_callback(struct urb *urb)  {  	struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context; diff --git a/drivers/usb/net/catc.c b/drivers/usb/net/catc.c index be5f5e142dd..f740325abac 100644 --- a/drivers/usb/net/catc.c +++ b/drivers/usb/net/catc.c @@ -223,7 +223,7 @@ struct catc {   * Receive routines.   */ -static void catc_rx_done(struct urb *urb, struct pt_regs *regs) +static void catc_rx_done(struct urb *urb)  {  	struct catc *catc = urb->context;  	u8 *pkt_start = urb->transfer_buffer; @@ -289,7 +289,7 @@ static void catc_rx_done(struct urb *urb, struct pt_regs *regs)  	}  } -static void catc_irq_done(struct urb *urb, struct pt_regs *regs) +static void catc_irq_done(struct urb *urb)  {  	struct catc *catc = urb->context;  	u8 *data = urb->transfer_buffer; @@ -376,7 +376,7 @@ static void catc_tx_run(struct catc *catc)  	catc->netdev->trans_start = jiffies;  } -static void catc_tx_done(struct urb *urb, struct pt_regs *regs) +static void catc_tx_done(struct urb *urb)  {  	struct catc *catc = urb->context;  	unsigned long flags; @@ -486,7 +486,7 @@ static void catc_ctrl_run(struct catc *catc)  		err("submit(ctrl_urb) status %d", status);  } -static void catc_ctrl_done(struct urb *urb, struct pt_regs *regs) +static void catc_ctrl_done(struct urb *urb)  {  	struct catc *catc = urb->context;  	struct ctrl_queue *q; diff --git a/drivers/usb/net/gl620a.c b/drivers/usb/net/gl620a.c index 3155f25f1d4..a3242be2195 100644 --- a/drivers/usb/net/gl620a.c +++ b/drivers/usb/net/gl620a.c @@ -106,7 +106,7 @@ static inline int gl_control_write(struct usbnet *dev, u8 request, u16 value)  	return retval;  } -static void gl_interrupt_complete(struct urb *urb, struct pt_regs *regs) +static void gl_interrupt_complete(struct urb *urb)  {  	int status = urb->status; diff --git a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c index 544d41fe9b9..957d4ad316f 100644 --- a/drivers/usb/net/kaweth.c +++ b/drivers/usb/net/kaweth.c @@ -475,7 +475,7 @@ static int kaweth_reset(struct kaweth_device *kaweth)  	return result;  } -static void kaweth_usb_receive(struct urb *, struct pt_regs *regs); +static void kaweth_usb_receive(struct urb *);  static int kaweth_resubmit_rx_urb(struct kaweth_device *, gfp_t);  /**************************************************************** @@ -500,7 +500,7 @@ static void kaweth_resubmit_int_urb(struct kaweth_device *kaweth, gfp_t mf)  				kaweth->dev->devpath, status);  } -static void int_callback(struct urb *u, struct pt_regs *regs) +static void int_callback(struct urb *u)  {  	struct kaweth_device *kaweth = u->context;  	int act_state; @@ -581,7 +581,7 @@ static void kaweth_async_set_rx_mode(struct kaweth_device *kaweth);  /****************************************************************   *     kaweth_usb_receive   ****************************************************************/ -static void kaweth_usb_receive(struct urb *urb, struct pt_regs *regs) +static void kaweth_usb_receive(struct urb *urb)  {  	struct kaweth_device *kaweth = urb->context;  	struct net_device *net = kaweth->net; @@ -725,7 +725,7 @@ static struct ethtool_ops ops = {  /****************************************************************   *     kaweth_usb_transmit_complete   ****************************************************************/ -static void kaweth_usb_transmit_complete(struct urb *urb, struct pt_regs *regs) +static void kaweth_usb_transmit_complete(struct urb *urb)  {  	struct kaweth_device *kaweth = urb->context;  	struct sk_buff *skb = kaweth->tx_skb; @@ -1154,7 +1154,7 @@ struct usb_api_data {  /*-------------------------------------------------------------------*   * completion handler for compatibility wrappers (sync control/bulk) *   *-------------------------------------------------------------------*/ -static void usb_api_blocking_completion(struct urb *urb, struct pt_regs *regs) +static void usb_api_blocking_completion(struct urb *urb)  {          struct usb_api_data *awd = (struct usb_api_data *)urb->context; diff --git a/drivers/usb/net/net1080.c b/drivers/usb/net/net1080.c index 301baa72bac..ce00de8f13a 100644 --- a/drivers/usb/net/net1080.c +++ b/drivers/usb/net/net1080.c @@ -368,7 +368,7 @@ static int net1080_check_connect(struct usbnet *dev)  	return 0;  } -static void nc_flush_complete(struct urb *urb, struct pt_regs *regs) +static void nc_flush_complete(struct urb *urb)  {  	kfree(urb->context);  	usb_free_urb(urb); diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index 918cf5a77c0..33abbd2176b 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c @@ -96,7 +96,7 @@ MODULE_DEVICE_TABLE(usb, pegasus_ids);  static int update_eth_regs_async(pegasus_t *);  /* Aargh!!! I _really_ hate such tweaks */ -static void ctrl_callback(struct urb *urb, struct pt_regs *regs) +static void ctrl_callback(struct urb *urb)  {  	pegasus_t *pegasus = urb->context; @@ -605,7 +605,7 @@ static inline struct sk_buff *pull_skb(pegasus_t * pegasus)  	return NULL;  } -static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void read_bulk_callback(struct urb *urb)  {  	pegasus_t *pegasus = urb->context;  	struct net_device *net; @@ -764,7 +764,7 @@ done:  	spin_unlock_irqrestore(&pegasus->rx_pool_lock, flags);  } -static void write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void write_bulk_callback(struct urb *urb)  {  	pegasus_t *pegasus = urb->context;  	struct net_device *net = pegasus->net; @@ -801,7 +801,7 @@ static void write_bulk_callback(struct urb *urb, struct pt_regs *regs)  	netif_wake_queue(net);  } -static void intr_callback(struct urb *urb, struct pt_regs *regs) +static void intr_callback(struct urb *urb)  {  	pegasus_t *pegasus = urb->context;  	struct net_device *net; @@ -1226,7 +1226,7 @@ static void pegasus_set_multicast(struct net_device *net)  	}  	pegasus->flags |= ETH_REGS_CHANGE; -	ctrl_callback(pegasus->ctrl_urb, NULL); +	ctrl_callback(pegasus->ctrl_urb);  }  static __u8 mii_phy_probe(pegasus_t * pegasus) @@ -1433,11 +1433,11 @@ static int pegasus_resume (struct usb_interface *intf)  	if (netif_running(pegasus->net)) {  		pegasus->rx_urb->status = 0;  		pegasus->rx_urb->actual_length = 0; -		read_bulk_callback(pegasus->rx_urb, NULL); +		read_bulk_callback(pegasus->rx_urb);  		pegasus->intr_urb->status = 0;  		pegasus->intr_urb->actual_length = 0; -		intr_callback(pegasus->intr_urb, NULL); +		intr_callback(pegasus->intr_urb);  	}  	queue_delayed_work(pegasus_workqueue, &pegasus->carrier_check,  				CARRIER_CHECK_DELAY); diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index 2364c209938..72171f94ded 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c @@ -208,7 +208,7 @@ static int set_registers(rtl8150_t * dev, u16 indx, u16 size, void *data)  			       indx, 0, data, size, 500);  } -static void ctrl_callback(struct urb *urb, struct pt_regs *regs) +static void ctrl_callback(struct urb *urb)  {  	rtl8150_t *dev; @@ -415,7 +415,7 @@ static inline struct sk_buff *pull_skb(rtl8150_t *dev)  	return NULL;  } -static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void read_bulk_callback(struct urb *urb)  {  	rtl8150_t *dev;  	unsigned pkt_len, res; @@ -525,7 +525,7 @@ tlsched:  	tasklet_schedule(&dev->tl);  } -static void write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void write_bulk_callback(struct urb *urb)  {  	rtl8150_t *dev; @@ -541,7 +541,7 @@ static void write_bulk_callback(struct urb *urb, struct pt_regs *regs)  	netif_wake_queue(dev->netdev);  } -static void intr_callback(struct urb *urb, struct pt_regs *regs) +static void intr_callback(struct urb *urb)  {  	rtl8150_t *dev;  	__u8 *d; @@ -617,11 +617,11 @@ static int rtl8150_resume(struct usb_interface *intf)  	if (netif_running(dev->netdev)) {  		dev->rx_urb->status = 0;  		dev->rx_urb->actual_length = 0; -		read_bulk_callback(dev->rx_urb, NULL); +		read_bulk_callback(dev->rx_urb);  		dev->intr_urb->status = 0;  		dev->intr_urb->actual_length = 0; -		intr_callback(dev->intr_urb, NULL); +		intr_callback(dev->intr_urb);  	}  	return 0;  } diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c index 98a522f1e26..24bd3486ee6 100644 --- a/drivers/usb/net/usbnet.c +++ b/drivers/usb/net/usbnet.c @@ -158,7 +158,7 @@ int usbnet_get_endpoints(struct usbnet *dev, struct usb_interface *intf)  }  EXPORT_SYMBOL_GPL(usbnet_get_endpoints); -static void intr_complete (struct urb *urb, struct pt_regs *regs); +static void intr_complete (struct urb *urb);  static int init_status (struct usbnet *dev, struct usb_interface *intf)  { @@ -295,7 +295,7 @@ EXPORT_SYMBOL_GPL(usbnet_defer_kevent);  /*-------------------------------------------------------------------------*/ -static void rx_complete (struct urb *urb, struct pt_regs *regs); +static void rx_complete (struct urb *urb);  static void rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags)  { @@ -383,7 +383,7 @@ error:  /*-------------------------------------------------------------------------*/ -static void rx_complete (struct urb *urb, struct pt_regs *regs) +static void rx_complete (struct urb *urb)  {  	struct sk_buff		*skb = (struct sk_buff *) urb->context;  	struct skb_data		*entry = (struct skb_data *) skb->cb; @@ -467,7 +467,7 @@ block:  		devdbg (dev, "no read resubmitted");  } -static void intr_complete (struct urb *urb, struct pt_regs *regs) +static void intr_complete (struct urb *urb)  {  	struct usbnet	*dev = urb->context;  	int		status = urb->status; @@ -797,7 +797,7 @@ kevent (void *data)  /*-------------------------------------------------------------------------*/ -static void tx_complete (struct urb *urb, struct pt_regs *regs) +static void tx_complete (struct urb *urb)  {  	struct sk_buff		*skb = (struct sk_buff *) urb->context;  	struct skb_data		*entry = (struct skb_data *) skb->cb; diff --git a/drivers/usb/serial/aircable.c b/drivers/usb/serial/aircable.c index 2ccd9ded52a..81227550913 100644 --- a/drivers/usb/serial/aircable.c +++ b/drivers/usb/serial/aircable.c @@ -403,7 +403,7 @@ static int aircable_write(struct usb_serial_port *port,  } -static void aircable_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void aircable_write_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = urb->context;  	int result; @@ -444,7 +444,7 @@ static void aircable_write_bulk_callback(struct urb *urb, struct pt_regs *regs)  	aircable_send(port);  } -static void aircable_read_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void aircable_read_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = urb->context;  	struct aircable_private *priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/airprime.c b/drivers/usb/serial/airprime.c index 6e1a84a858d..2c19f19b255 100644 --- a/drivers/usb/serial/airprime.c +++ b/drivers/usb/serial/airprime.c @@ -46,7 +46,7 @@ struct airprime_private {  	struct urb *read_urbp[NUM_READ_URBS];  }; -static void airprime_read_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void airprime_read_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = urb->context;  	unsigned char *data = urb->transfer_buffer; @@ -80,7 +80,7 @@ static void airprime_read_bulk_callback(struct urb *urb, struct pt_regs *regs)  	return;  } -static void airprime_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void airprime_write_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = urb->context;  	struct airprime_private *priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c index 70ece9e01ce..8835bb58ca9 100644 --- a/drivers/usb/serial/belkin_sa.c +++ b/drivers/usb/serial/belkin_sa.c @@ -91,7 +91,7 @@ static int  belkin_sa_startup		(struct usb_serial *serial);  static void belkin_sa_shutdown		(struct usb_serial *serial);  static int  belkin_sa_open		(struct usb_serial_port *port, struct file *filp);  static void belkin_sa_close		(struct usb_serial_port *port, struct file *filp); -static void belkin_sa_read_int_callback (struct urb *urb, struct pt_regs *regs); +static void belkin_sa_read_int_callback (struct urb *urb);  static void belkin_sa_set_termios	(struct usb_serial_port *port, struct termios * old);  static int  belkin_sa_ioctl		(struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg);  static void belkin_sa_break_ctl		(struct usb_serial_port *port, int break_state ); @@ -248,7 +248,7 @@ static void belkin_sa_close (struct usb_serial_port *port, struct file *filp)  } /* belkin_sa_close */ -static void belkin_sa_read_int_callback (struct urb *urb, struct pt_regs *regs) +static void belkin_sa_read_int_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct belkin_sa_private *priv; diff --git a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c index d954ec34b01..a63c3286caa 100644 --- a/drivers/usb/serial/cyberjack.c +++ b/drivers/usb/serial/cyberjack.c @@ -63,9 +63,9 @@ static int  cyberjack_open (struct usb_serial_port *port, struct file *filp);  static void cyberjack_close (struct usb_serial_port *port, struct file *filp);  static int cyberjack_write (struct usb_serial_port *port, const unsigned char *buf, int count);  static int cyberjack_write_room( struct usb_serial_port *port ); -static void cyberjack_read_int_callback (struct urb *urb, struct pt_regs *regs); -static void cyberjack_read_bulk_callback (struct urb *urb, struct pt_regs *regs); -static void cyberjack_write_bulk_callback (struct urb *urb, struct pt_regs *regs); +static void cyberjack_read_int_callback (struct urb *urb); +static void cyberjack_read_bulk_callback (struct urb *urb); +static void cyberjack_write_bulk_callback (struct urb *urb);  static struct usb_device_id id_table [] = {  	{ USB_DEVICE(CYBERJACK_VENDOR_ID, CYBERJACK_PRODUCT_ID) }, @@ -299,7 +299,7 @@ static int cyberjack_write_room( struct usb_serial_port *port )  	return CYBERJACK_LOCAL_BUF_SIZE;  } -static void cyberjack_read_int_callback( struct urb *urb, struct pt_regs *regs ) +static void cyberjack_read_int_callback( struct urb *urb )  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct cyberjack_private *priv = usb_get_serial_port_data(port); @@ -356,7 +356,7 @@ resubmit:  	dbg("%s - usb_submit_urb(int urb)", __FUNCTION__);  } -static void cyberjack_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void cyberjack_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct cyberjack_private *priv = usb_get_serial_port_data(port); @@ -406,7 +406,7 @@ static void cyberjack_read_bulk_callback (struct urb *urb, struct pt_regs *regs)  	}  } -static void cyberjack_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void cyberjack_write_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct cyberjack_private *priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c index e1173c1aee3..f2e89a08365 100644 --- a/drivers/usb/serial/cypress_m8.c +++ b/drivers/usb/serial/cypress_m8.c @@ -172,8 +172,8 @@ static int  cypress_chars_in_buffer	(struct usb_serial_port *port);  static void cypress_throttle		(struct usb_serial_port *port);  static void cypress_unthrottle		(struct usb_serial_port *port);  static void cypress_set_dead		(struct usb_serial_port *port); -static void cypress_read_int_callback	(struct urb *urb, struct pt_regs *regs); -static void cypress_write_int_callback	(struct urb *urb, struct pt_regs *regs); +static void cypress_read_int_callback	(struct urb *urb); +static void cypress_write_int_callback	(struct urb *urb);  /* baud helper functions */  static int	 mask_to_rate		(unsigned mask);  static unsigned  rate_to_mask		(int rate); @@ -1275,7 +1275,7 @@ static void cypress_unthrottle (struct usb_serial_port *port)  } -static void cypress_read_int_callback(struct urb *urb, struct pt_regs *regs) +static void cypress_read_int_callback(struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct cypress_private *priv = usb_get_serial_port_data(port); @@ -1426,7 +1426,7 @@ continue_read:  } /* cypress_read_int_callback */ -static void cypress_write_int_callback(struct urb *urb, struct pt_regs *regs) +static void cypress_write_int_callback(struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct cypress_private *priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c index 9b225183fc7..bdb58100fc1 100644 --- a/drivers/usb/serial/digi_acceleport.c +++ b/drivers/usb/serial/digi_acceleport.c @@ -456,7 +456,7 @@ static int digi_tiocmget( struct usb_serial_port *port, struct file *file );  static int digi_tiocmset( struct usb_serial_port *port, struct file *file,  	unsigned int set, unsigned int clear );  static int digi_write( struct usb_serial_port *port, const unsigned char *buf, int count ); -static void digi_write_bulk_callback( struct urb *urb, struct pt_regs *regs ); +static void digi_write_bulk_callback( struct urb *urb );  static int digi_write_room( struct usb_serial_port *port );  static int digi_chars_in_buffer( struct usb_serial_port *port );  static int digi_open( struct usb_serial_port *port, struct file *filp ); @@ -464,7 +464,7 @@ static void digi_close( struct usb_serial_port *port, struct file *filp );  static int digi_startup_device( struct usb_serial *serial );  static int digi_startup( struct usb_serial *serial );  static void digi_shutdown( struct usb_serial *serial ); -static void digi_read_bulk_callback( struct urb *urb, struct pt_regs *regs ); +static void digi_read_bulk_callback( struct urb *urb );  static int digi_read_inb_callback( struct urb *urb );  static int digi_read_oob_callback( struct urb *urb ); @@ -1336,7 +1336,7 @@ dbg( "digi_write: returning %d", ret );  }  -static void digi_write_bulk_callback( struct urb *urb, struct pt_regs *regs ) +static void digi_write_bulk_callback( struct urb *urb )  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; @@ -1754,7 +1754,7 @@ dbg( "digi_shutdown: TOP, in_interrupt()=%ld", in_interrupt() );  } -static void digi_read_bulk_callback( struct urb *urb, struct pt_regs *regs ) +static void digi_read_bulk_callback( struct urb *urb )  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c index daafe405d86..4ce10a83195 100644 --- a/drivers/usb/serial/empeg.c +++ b/drivers/usb/serial/empeg.c @@ -93,8 +93,8 @@ static int  empeg_ioctl			(struct usb_serial_port *port,  					unsigned int cmd,  					unsigned long arg);  static void empeg_set_termios		(struct usb_serial_port *port, struct termios *old_termios); -static void empeg_write_bulk_callback	(struct urb *urb, struct pt_regs *regs); -static void empeg_read_bulk_callback	(struct urb *urb, struct pt_regs *regs); +static void empeg_write_bulk_callback	(struct urb *urb); +static void empeg_read_bulk_callback	(struct urb *urb);  static struct usb_device_id id_table [] = {  	{ USB_DEVICE(EMPEG_VENDOR_ID, EMPEG_PRODUCT_ID) }, @@ -323,7 +323,7 @@ static int empeg_chars_in_buffer (struct usb_serial_port *port)  } -static void empeg_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void empeg_write_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; @@ -338,7 +338,7 @@ static void empeg_write_bulk_callback (struct urb *urb, struct pt_regs *regs)  } -static void empeg_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void empeg_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct tty_struct *tty; diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index e774a27c6c9..d3dc1a15ec6 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -589,8 +589,8 @@ static void ftdi_close			(struct usb_serial_port *port, struct file *filp);  static int  ftdi_write			(struct usb_serial_port *port, const unsigned char *buf, int count);  static int  ftdi_write_room		(struct usb_serial_port *port);  static int  ftdi_chars_in_buffer	(struct usb_serial_port *port); -static void ftdi_write_bulk_callback	(struct urb *urb, struct pt_regs *regs); -static void ftdi_read_bulk_callback	(struct urb *urb, struct pt_regs *regs); +static void ftdi_write_bulk_callback	(struct urb *urb); +static void ftdi_read_bulk_callback	(struct urb *urb);  static void ftdi_process_read		(void *param);  static void ftdi_set_termios		(struct usb_serial_port *port, struct termios * old);  static int  ftdi_tiocmget               (struct usb_serial_port *port, struct file *file); @@ -1508,7 +1508,7 @@ static int ftdi_write (struct usb_serial_port *port,  /* This function may get called when the device is closed */ -static void ftdi_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void ftdi_write_bulk_callback (struct urb *urb)  {  	unsigned long flags;  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; @@ -1591,7 +1591,7 @@ static int ftdi_chars_in_buffer (struct usb_serial_port *port) -static void ftdi_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void ftdi_read_bulk_callback (struct urb *urb)  { /* ftdi_read_bulk_callback */  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct tty_struct *tty; diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c index 4b1196a8b09..4543152a996 100644 --- a/drivers/usb/serial/garmin_gps.c +++ b/drivers/usb/serial/garmin_gps.c @@ -1031,7 +1031,7 @@ static void garmin_close (struct usb_serial_port *port, struct file * filp)  } -static void garmin_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void garmin_write_bulk_callback (struct urb *urb)  {  	unsigned long flags;  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; @@ -1274,7 +1274,7 @@ static void garmin_read_process(struct garmin_data * garmin_data_p,  } -static void garmin_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void garmin_read_bulk_callback (struct urb *urb)  {  	unsigned long flags;  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; @@ -1330,7 +1330,7 @@ static void garmin_read_bulk_callback (struct urb *urb, struct pt_regs *regs)  } -static void garmin_read_int_callback (struct urb *urb, struct pt_regs *regs) +static void garmin_read_int_callback (struct urb *urb)  {  	unsigned long flags;  	int status; diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c index 21cbaa0fb96..36042937e77 100644 --- a/drivers/usb/serial/generic.c +++ b/drivers/usb/serial/generic.c @@ -248,7 +248,7 @@ int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port)  	return (chars);  } -void usb_serial_generic_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +void usb_serial_generic_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct usb_serial *serial = port->serial; @@ -287,7 +287,7 @@ void usb_serial_generic_read_bulk_callback (struct urb *urb, struct pt_regs *reg  }  EXPORT_SYMBOL_GPL(usb_serial_generic_read_bulk_callback); -void usb_serial_generic_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +void usb_serial_generic_write_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c index c49976c3ad5..91bd3014ef1 100644 --- a/drivers/usb/serial/io_edgeport.c +++ b/drivers/usb/serial/io_edgeport.c @@ -216,10 +216,10 @@ static int CmdUrbs = 0;		/* Number of outstanding Command Write Urbs */  /* local function prototypes */  /* function prototypes for all URB callbacks */ -static void edge_interrupt_callback	(struct urb *urb, struct pt_regs *regs); -static void edge_bulk_in_callback	(struct urb *urb, struct pt_regs *regs); -static void edge_bulk_out_data_callback	(struct urb *urb, struct pt_regs *regs); -static void edge_bulk_out_cmd_callback	(struct urb *urb, struct pt_regs *regs); +static void edge_interrupt_callback	(struct urb *urb); +static void edge_bulk_in_callback	(struct urb *urb); +static void edge_bulk_out_data_callback	(struct urb *urb); +static void edge_bulk_out_cmd_callback	(struct urb *urb);  /* function prototypes for the usbserial callbacks */  static int  edge_open			(struct usb_serial_port *port, struct file *filp); @@ -534,7 +534,7 @@ static void get_product_info(struct edgeport_serial *edge_serial)   *	this is the callback function for when we have received data on the    *	interrupt endpoint.   *****************************************************************************/ -static void edge_interrupt_callback (struct urb *urb, struct pt_regs *regs) +static void edge_interrupt_callback (struct urb *urb)  {  	struct edgeport_serial	*edge_serial = (struct edgeport_serial *)urb->context;  	struct edgeport_port *edge_port; @@ -631,7 +631,7 @@ exit:   *	this is the callback function for when we have received data on the    *	bulk in endpoint.   *****************************************************************************/ -static void edge_bulk_in_callback (struct urb *urb, struct pt_regs *regs) +static void edge_bulk_in_callback (struct urb *urb)  {  	struct edgeport_serial	*edge_serial = (struct edgeport_serial *)urb->context;  	unsigned char		*data = urb->transfer_buffer; @@ -687,7 +687,7 @@ static void edge_bulk_in_callback (struct urb *urb, struct pt_regs *regs)   *	this is the callback function for when we have finished sending serial data   *	on the bulk out endpoint.   *****************************************************************************/ -static void edge_bulk_out_data_callback (struct urb *urb, struct pt_regs *regs) +static void edge_bulk_out_data_callback (struct urb *urb)  {  	struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;  	struct tty_struct *tty; @@ -718,7 +718,7 @@ static void edge_bulk_out_data_callback (struct urb *urb, struct pt_regs *regs)   *	this is the callback function for when we have finished sending a command   *	on the bulk out endpoint.   *****************************************************************************/ -static void edge_bulk_out_cmd_callback (struct urb *urb, struct pt_regs *regs) +static void edge_bulk_out_cmd_callback (struct urb *urb)  {  	struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;  	struct tty_struct *tty; diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c index 17c5b1d2311..ee0c921e152 100644 --- a/drivers/usb/serial/io_ti.c +++ b/drivers/usb/serial/io_ti.c @@ -1697,7 +1697,7 @@ static void handle_new_lsr (struct edgeport_port *edge_port, int lsr_data, __u8  } -static void edge_interrupt_callback (struct urb *urb, struct pt_regs *regs) +static void edge_interrupt_callback (struct urb *urb)  {  	struct edgeport_serial *edge_serial = (struct edgeport_serial *)urb->context;  	struct usb_serial_port *port; @@ -1787,7 +1787,7 @@ exit:  			 __FUNCTION__, status);  } -static void edge_bulk_in_callback (struct urb *urb, struct pt_regs *regs) +static void edge_bulk_in_callback (struct urb *urb)  {  	struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;  	unsigned char *data = urb->transfer_buffer; @@ -1879,7 +1879,7 @@ static void edge_tty_recv(struct device *dev, struct tty_struct *tty, unsigned c  	tty_flip_buffer_push(tty);  } -static void edge_bulk_out_callback (struct urb *urb, struct pt_regs *regs) +static void edge_bulk_out_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct edgeport_port *edge_port = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c index cbc725a6c58..6238aff1e77 100644 --- a/drivers/usb/serial/ipaq.c +++ b/drivers/usb/serial/ipaq.c @@ -83,8 +83,8 @@ static int ipaq_write(struct usb_serial_port *port, const unsigned char *buf,  static int ipaq_write_bulk(struct usb_serial_port *port, const unsigned char *buf,  			   int count);  static void ipaq_write_gather(struct usb_serial_port *port); -static void ipaq_read_bulk_callback (struct urb *urb, struct pt_regs *regs); -static void ipaq_write_bulk_callback(struct urb *urb, struct pt_regs *regs); +static void ipaq_read_bulk_callback (struct urb *urb); +static void ipaq_write_bulk_callback(struct urb *urb);  static int ipaq_write_room(struct usb_serial_port *port);  static int ipaq_chars_in_buffer(struct usb_serial_port *port);  static void ipaq_destroy_lists(struct usb_serial_port *port); @@ -721,7 +721,7 @@ static void ipaq_close(struct usb_serial_port *port, struct file *filp)  	/* info ("Bytes In = %d  Bytes Out = %d", bytes_in, bytes_out); */  } -static void ipaq_read_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void ipaq_read_bulk_callback(struct urb *urb)  {  	struct usb_serial_port	*port = (struct usb_serial_port *)urb->context;  	struct tty_struct	*tty; @@ -859,7 +859,7 @@ static void ipaq_write_gather(struct usb_serial_port *port)  	return;  } -static void ipaq_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void ipaq_write_bulk_callback(struct urb *urb)  {  	struct usb_serial_port	*port = (struct usb_serial_port *)urb->context;  	struct ipaq_private	*priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c index 812bc213a96..2a4bb66691a 100644 --- a/drivers/usb/serial/ipw.c +++ b/drivers/usb/serial/ipw.c @@ -161,7 +161,7 @@ static struct usb_driver usb_ipw_driver = {  static int debug; -static void ipw_read_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void ipw_read_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = urb->context;  	unsigned char *data = urb->transfer_buffer; @@ -367,7 +367,7 @@ static void ipw_close(struct usb_serial_port *port, struct file * filp)  	usb_kill_urb(port->write_urb);  } -static void ipw_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void ipw_write_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = urb->context; diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c index 1b348df388e..331bf81556f 100644 --- a/drivers/usb/serial/ir-usb.c +++ b/drivers/usb/serial/ir-usb.c @@ -105,8 +105,8 @@ static int  ir_startup (struct usb_serial *serial);  static int  ir_open (struct usb_serial_port *port, struct file *filep);  static void ir_close (struct usb_serial_port *port, struct file *filep);  static int  ir_write (struct usb_serial_port *port, const unsigned char *buf, int count); -static void ir_write_bulk_callback (struct urb *urb, struct pt_regs *regs); -static void ir_read_bulk_callback (struct urb *urb, struct pt_regs *regs); +static void ir_write_bulk_callback (struct urb *urb); +static void ir_read_bulk_callback (struct urb *urb);  static void ir_set_termios (struct usb_serial_port *port, struct termios *old_termios);  static u8 ir_baud = 0; @@ -388,7 +388,7 @@ static int ir_write (struct usb_serial_port *port, const unsigned char *buf, int  	return result;  } -static void ir_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void ir_write_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; @@ -410,7 +410,7 @@ static void ir_write_bulk_callback (struct urb *urb, struct pt_regs *regs)  	usb_serial_port_softint(port);  } -static void ir_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void ir_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct tty_struct *tty; diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c index 015ad6cc1bb..53be824eb1b 100644 --- a/drivers/usb/serial/keyspan.c +++ b/drivers/usb/serial/keyspan.c @@ -412,7 +412,7 @@ static int keyspan_write(struct usb_serial_port *port,  	return count - left;  } -static void	usa26_indat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa26_indat_callback(struct urb *urb)  {  	int			i, err;  	int			endpoint; @@ -470,7 +470,7 @@ static void	usa26_indat_callback(struct urb *urb, struct pt_regs *regs)  }   	/* Outdat handling is common for all devices */ -static void	usa2x_outdat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa2x_outdat_callback(struct urb *urb)  {  	struct usb_serial_port *port;  	struct keyspan_port_private *p_priv; @@ -483,13 +483,13 @@ static void	usa2x_outdat_callback(struct urb *urb, struct pt_regs *regs)  		usb_serial_port_softint(port);  } -static void	usa26_inack_callback(struct urb *urb, struct pt_regs *regs) +static void	usa26_inack_callback(struct urb *urb)  {  	dbg ("%s", __FUNCTION__);   } -static void	usa26_outcont_callback(struct urb *urb, struct pt_regs *regs) +static void	usa26_outcont_callback(struct urb *urb)  {  	struct usb_serial_port *port;  	struct keyspan_port_private *p_priv; @@ -503,7 +503,7 @@ static void	usa26_outcont_callback(struct urb *urb, struct pt_regs *regs)  	}  } -static void	usa26_instat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa26_instat_callback(struct urb *urb)  {  	unsigned char 				*data = urb->transfer_buffer;  	struct keyspan_usa26_portStatusMessage	*msg; @@ -565,14 +565,14 @@ static void	usa26_instat_callback(struct urb *urb, struct pt_regs *regs)  exit: ;  } -static void	usa26_glocont_callback(struct urb *urb, struct pt_regs *regs) +static void	usa26_glocont_callback(struct urb *urb)  {  	dbg ("%s", __FUNCTION__);  } -static void usa28_indat_callback(struct urb *urb, struct pt_regs *regs) +static void usa28_indat_callback(struct urb *urb)  {  	int                     i, err;  	struct usb_serial_port  *port; @@ -620,12 +620,12 @@ static void usa28_indat_callback(struct urb *urb, struct pt_regs *regs)  	} while (urb->status != -EINPROGRESS);  } -static void	usa28_inack_callback(struct urb *urb, struct pt_regs *regs) +static void	usa28_inack_callback(struct urb *urb)  {  	dbg ("%s", __FUNCTION__);  } -static void	usa28_outcont_callback(struct urb *urb, struct pt_regs *regs) +static void	usa28_outcont_callback(struct urb *urb)  {  	struct usb_serial_port *port;  	struct keyspan_port_private *p_priv; @@ -639,7 +639,7 @@ static void	usa28_outcont_callback(struct urb *urb, struct pt_regs *regs)  	}  } -static void	usa28_instat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa28_instat_callback(struct urb *urb)  {  	int					err;  	unsigned char 				*data = urb->transfer_buffer; @@ -700,13 +700,13 @@ static void	usa28_instat_callback(struct urb *urb, struct pt_regs *regs)  exit: ;  } -static void	usa28_glocont_callback(struct urb *urb, struct pt_regs *regs) +static void	usa28_glocont_callback(struct urb *urb)  {  	dbg ("%s", __FUNCTION__);  } -static void	usa49_glocont_callback(struct urb *urb, struct pt_regs *regs) +static void	usa49_glocont_callback(struct urb *urb)  {  	struct usb_serial *serial;  	struct usb_serial_port *port; @@ -730,7 +730,7 @@ static void	usa49_glocont_callback(struct urb *urb, struct pt_regs *regs)  	/* This is actually called glostat in the Keyspan  	   doco */ -static void	usa49_instat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa49_instat_callback(struct urb *urb)  {  	int					err;  	unsigned char 				*data = urb->transfer_buffer; @@ -793,12 +793,12 @@ static void	usa49_instat_callback(struct urb *urb, struct pt_regs *regs)  exit:	;  } -static void	usa49_inack_callback(struct urb *urb, struct pt_regs *regs) +static void	usa49_inack_callback(struct urb *urb)  {  	dbg ("%s", __FUNCTION__);  } -static void	usa49_indat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa49_indat_callback(struct urb *urb)  {  	int			i, err;  	int			endpoint; @@ -851,12 +851,12 @@ static void	usa49_indat_callback(struct urb *urb, struct pt_regs *regs)  }  /* not used, usa-49 doesn't have per-port control endpoints */ -static void	usa49_outcont_callback(struct urb *urb, struct pt_regs *regs) +static void	usa49_outcont_callback(struct urb *urb)  {  	dbg ("%s", __FUNCTION__);  } -static void	usa90_indat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa90_indat_callback(struct urb *urb)  {  	int			i, err;  	int			endpoint; @@ -930,7 +930,7 @@ static void	usa90_indat_callback(struct urb *urb, struct pt_regs *regs)  } -static void	usa90_instat_callback(struct urb *urb, struct pt_regs *regs) +static void	usa90_instat_callback(struct urb *urb)  {  	unsigned char 				*data = urb->transfer_buffer;  	struct keyspan_usa90_portStatusMessage	*msg; @@ -981,7 +981,7 @@ exit:  	;  } -static void	usa90_outcont_callback(struct urb *urb, struct pt_regs *regs) +static void	usa90_outcont_callback(struct urb *urb)  {  	struct usb_serial_port *port;  	struct keyspan_port_private *p_priv; @@ -1277,7 +1277,7 @@ static int keyspan_fake_startup (struct usb_serial *serial)  /* Helper functions used by keyspan_setup_urbs */  static struct urb *keyspan_setup_urb (struct usb_serial *serial, int endpoint,  				      int dir, void *ctx, char *buf, int len, -				      void (*callback)(struct urb *, struct pt_regs *regs)) +				      void (*callback)(struct urb *))  {  	struct urb *urb; @@ -1300,12 +1300,12 @@ static struct urb *keyspan_setup_urb (struct usb_serial *serial, int endpoint,  }  static struct callbacks { -	void	(*instat_callback)(struct urb *, struct pt_regs *regs); -	void	(*glocont_callback)(struct urb *, struct pt_regs *regs); -	void	(*indat_callback)(struct urb *, struct pt_regs *regs); -	void	(*outdat_callback)(struct urb *, struct pt_regs *regs); -	void	(*inack_callback)(struct urb *, struct pt_regs *regs); -	void	(*outcont_callback)(struct urb *, struct pt_regs *regs); +	void	(*instat_callback)(struct urb *); +	void	(*glocont_callback)(struct urb *); +	void	(*indat_callback)(struct urb *); +	void	(*outdat_callback)(struct urb *); +	void	(*inack_callback)(struct urb *); +	void	(*outcont_callback)(struct urb *);  } keyspan_callbacks[] = {  	{  		/* msg_usa26 callbacks */ diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c index 59e777f1e8f..909005107ea 100644 --- a/drivers/usb/serial/keyspan_pda.c +++ b/drivers/usb/serial/keyspan_pda.c @@ -210,7 +210,7 @@ static void keyspan_pda_request_unthrottle( struct usb_serial *serial )  } -static void keyspan_pda_rx_interrupt (struct urb *urb, struct pt_regs *regs) +static void keyspan_pda_rx_interrupt (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;         	struct tty_struct *tty = port->tty; @@ -601,7 +601,7 @@ exit:  } -static void keyspan_pda_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void keyspan_pda_write_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct keyspan_pda_private *priv; diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c index 2a2f3e2da05..17e205699c2 100644 --- a/drivers/usb/serial/kl5kusb105.c +++ b/drivers/usb/serial/kl5kusb105.c @@ -80,11 +80,11 @@ static void klsi_105_close	         (struct usb_serial_port *port,  static int  klsi_105_write	         (struct usb_serial_port *port,  					  const unsigned char *buf,  					  int count); -static void klsi_105_write_bulk_callback (struct urb *urb, struct pt_regs *regs); +static void klsi_105_write_bulk_callback (struct urb *urb);  static int  klsi_105_chars_in_buffer     (struct usb_serial_port *port);  static int  klsi_105_write_room          (struct usb_serial_port *port); -static void klsi_105_read_bulk_callback  (struct urb *urb, struct pt_regs *regs); +static void klsi_105_read_bulk_callback  (struct urb *urb);  static void klsi_105_set_termios         (struct usb_serial_port *port,  					  struct termios * old);  static int  klsi_105_ioctl	         (struct usb_serial_port *port, @@ -556,7 +556,7 @@ exit:  	return bytes_sent;	/* that's how much we wrote */  } /* klsi_105_write */ -static void klsi_105_write_bulk_callback ( struct urb *urb, struct pt_regs *regs) +static void klsi_105_write_bulk_callback ( struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context; @@ -616,7 +616,7 @@ static int klsi_105_write_room (struct usb_serial_port *port) -static void klsi_105_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void klsi_105_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct klsi_105_private *priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c index d50dce03495..ff03331e0bc 100644 --- a/drivers/usb/serial/kobil_sct.c +++ b/drivers/usb/serial/kobil_sct.c @@ -80,8 +80,8 @@ static int  kobil_ioctl(struct usb_serial_port *port, struct file *file,  static int  kobil_tiocmget(struct usb_serial_port *port, struct file *file);  static int  kobil_tiocmset(struct usb_serial_port *port, struct file *file,  			   unsigned int set, unsigned int clear); -static void kobil_read_int_callback( struct urb *urb, struct pt_regs *regs ); -static void kobil_write_callback( struct urb *purb, struct pt_regs *regs ); +static void kobil_read_int_callback( struct urb *urb ); +static void kobil_write_callback( struct urb *purb );  static struct usb_device_id id_table [] = { @@ -360,7 +360,7 @@ static void kobil_close (struct usb_serial_port *port, struct file *filp)  } -static void kobil_read_int_callback( struct urb *purb, struct pt_regs *regs) +static void kobil_read_int_callback( struct urb *purb)  {  	int result;  	struct usb_serial_port *port = (struct usb_serial_port *) purb->context; @@ -405,7 +405,7 @@ static void kobil_read_int_callback( struct urb *purb, struct pt_regs *regs)  } -static void kobil_write_callback( struct urb *purb, struct pt_regs *regs ) +static void kobil_write_callback( struct urb *purb )  {  } diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c index f4d4305c2c0..b7582cc496d 100644 --- a/drivers/usb/serial/mct_u232.c +++ b/drivers/usb/serial/mct_u232.c @@ -96,7 +96,7 @@ static int  mct_u232_open	         (struct usb_serial_port *port,  					  struct file *filp);  static void mct_u232_close	         (struct usb_serial_port *port,  					  struct file *filp); -static void mct_u232_read_int_callback   (struct urb *urb, struct pt_regs *regs); +static void mct_u232_read_int_callback   (struct urb *urb);  static void mct_u232_set_termios         (struct usb_serial_port *port,  					  struct termios * old);  static int  mct_u232_ioctl	         (struct usb_serial_port *port, @@ -466,7 +466,7 @@ static void mct_u232_close (struct usb_serial_port *port, struct file *filp)  } /* mct_u232_close */ -static void mct_u232_read_int_callback (struct urb *urb, struct pt_regs *regs) +static void mct_u232_read_int_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct mct_u232_private *priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c index 95bf57166c5..2306d493e55 100644 --- a/drivers/usb/serial/mos7840.c +++ b/drivers/usb/serial/mos7840.c @@ -421,7 +421,7 @@ static int mos7840_handle_new_lsr(struct moschip_port *port, __u8 new_lsr)  /************************************************************************/  /************************************************************************/ -static void mos7840_control_callback(struct urb *urb, struct pt_regs *regs) +static void mos7840_control_callback(struct urb *urb)  {  	unsigned char *data;  	struct moschip_port *mos7840_port; @@ -497,7 +497,7 @@ static int mos7840_get_reg(struct moschip_port *mcs, __u16 Wval, __u16 reg,   *	interrupt endpoint.   *****************************************************************************/ -static void mos7840_interrupt_callback(struct urb *urb, struct pt_regs *regs) +static void mos7840_interrupt_callback(struct urb *urb)  {  	int result;  	int length; @@ -647,7 +647,7 @@ static struct usb_serial *mos7840_get_usb_serial(struct usb_serial_port *port,   *	bulk in endpoint.   *****************************************************************************/ -static void mos7840_bulk_in_callback(struct urb *urb, struct pt_regs *regs) +static void mos7840_bulk_in_callback(struct urb *urb)  {  	int status;  	unsigned char *data; @@ -726,8 +726,7 @@ static void mos7840_bulk_in_callback(struct urb *urb, struct pt_regs *regs)   *	on the bulk out endpoint.   *****************************************************************************/ -static void mos7840_bulk_out_data_callback(struct urb *urb, -					   struct pt_regs *regs) +static void mos7840_bulk_out_data_callback(struct urb *urb)  {  	struct moschip_port *mos7840_port;  	struct tty_struct *tty; diff --git a/drivers/usb/serial/navman.c b/drivers/usb/serial/navman.c index ac3f8b5d2c4..0610409a656 100644 --- a/drivers/usb/serial/navman.c +++ b/drivers/usb/serial/navman.c @@ -32,7 +32,7 @@ static struct usb_driver navman_driver = {  	.no_dynamic_id = 	1,  }; -static void navman_read_int_callback(struct urb *urb, struct pt_regs *regs) +static void navman_read_int_callback(struct urb *urb)  {  	struct usb_serial_port *port = urb->context;  	unsigned char *data = urb->transfer_buffer; diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c index a764ff4e326..bc91d3b726f 100644 --- a/drivers/usb/serial/omninet.c +++ b/drivers/usb/serial/omninet.c @@ -64,8 +64,8 @@ static int debug;  /* function prototypes */  static int  omninet_open		(struct usb_serial_port *port, struct file *filp);  static void omninet_close		(struct usb_serial_port *port, struct file *filp); -static void omninet_read_bulk_callback	(struct urb *urb, struct pt_regs *regs); -static void omninet_write_bulk_callback	(struct urb *urb, struct pt_regs *regs); +static void omninet_read_bulk_callback	(struct urb *urb); +static void omninet_write_bulk_callback	(struct urb *urb);  static int  omninet_write		(struct usb_serial_port *port, const unsigned char *buf, int count);  static int  omninet_write_room		(struct usb_serial_port *port);  static void omninet_shutdown		(struct usb_serial *serial); @@ -194,7 +194,7 @@ static void omninet_close (struct usb_serial_port *port, struct file * filp)  #define OMNINET_HEADERLEN	sizeof(struct omninet_header)  #define OMNINET_BULKOUTSIZE 	(64 - OMNINET_HEADERLEN) -static void omninet_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void omninet_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port 	*port 	= (struct usb_serial_port *)urb->context;  	unsigned char 		*data 	= urb->transfer_buffer; @@ -306,7 +306,7 @@ static int omninet_write_room (struct usb_serial_port *port)  	return (room);  } -static void omninet_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void omninet_write_bulk_callback (struct urb *urb)  {  /*	struct omninet_header	*header = (struct omninet_header  *) urb->transfer_buffer; */  	struct usb_serial_port 	*port   = (struct usb_serial_port *) urb->context; diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index c856e6f40e2..130afbbd3fc 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -50,7 +50,7 @@ static void option_rx_throttle(struct usb_serial_port *port);  static void option_rx_unthrottle(struct usb_serial_port *port);  static int  option_write_room(struct usb_serial_port *port); -static void option_instat_callback(struct urb *urb, struct pt_regs *regs); +static void option_instat_callback(struct urb *urb);  static int option_write(struct usb_serial_port *port,  			const unsigned char *buf, int count); @@ -337,7 +337,7 @@ static int option_write(struct usb_serial_port *port,  	return count;  } -static void option_indat_callback(struct urb *urb, struct pt_regs *regs) +static void option_indat_callback(struct urb *urb)  {  	int err;  	int endpoint; @@ -374,7 +374,7 @@ static void option_indat_callback(struct urb *urb, struct pt_regs *regs)  	return;  } -static void option_outdat_callback(struct urb *urb, struct pt_regs *regs) +static void option_outdat_callback(struct urb *urb)  {  	struct usb_serial_port *port; @@ -385,7 +385,7 @@ static void option_outdat_callback(struct urb *urb, struct pt_regs *regs)  	usb_serial_port_softint(port);  } -static void option_instat_callback(struct urb *urb, struct pt_regs *regs) +static void option_instat_callback(struct urb *urb)  {  	int err;  	struct usb_serial_port *port = (struct usb_serial_port *) urb->context; @@ -565,7 +565,7 @@ static void option_close(struct usb_serial_port *port, struct file *filp)  /* Helper functions used by option_setup_urbs */  static struct urb *option_setup_urb(struct usb_serial *serial, int endpoint,  		int dir, void *ctx, char *buf, int len, -		void (*callback)(struct urb *, struct pt_regs *regs)) +		void (*callback)(struct urb *))  {  	struct urb *urb; diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c index 9c18173e33f..bc800c8787a 100644 --- a/drivers/usb/serial/pl2303.c +++ b/drivers/usb/serial/pl2303.c @@ -948,7 +948,7 @@ static void pl2303_update_line_status(struct usb_serial_port *port,  	wake_up_interruptible(&priv->delta_msr_wait);  } -static void pl2303_read_int_callback(struct urb *urb, struct pt_regs *regs) +static void pl2303_read_int_callback(struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *) urb->context;  	unsigned char *data = urb->transfer_buffer; @@ -987,7 +987,7 @@ exit:  			__FUNCTION__, status);  } -static void pl2303_read_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void pl2303_read_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *) urb->context;  	struct pl2303_private *priv = usb_get_serial_port_data(port); @@ -1070,7 +1070,7 @@ static void pl2303_read_bulk_callback(struct urb *urb, struct pt_regs *regs)  	return;  } -static void pl2303_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void pl2303_write_bulk_callback(struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *) urb->context;  	struct pl2303_private *priv = usb_get_serial_port_data(port); diff --git a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c index 1e07dfad685..30b7ebc8d45 100644 --- a/drivers/usb/serial/safe_serial.c +++ b/drivers/usb/serial/safe_serial.c @@ -204,7 +204,7 @@ static __u16 __inline__ fcs_compute10 (unsigned char *sp, int len, __u16 fcs)  	return fcs;  } -static void safe_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void safe_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *) urb->context;  	unsigned char *data = urb->transfer_buffer; diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c index ac9b8ee52d4..07400c0c8a8 100644 --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c @@ -166,9 +166,9 @@ static int ti_tiocmget(struct usb_serial_port *port, struct file *file);  static int ti_tiocmset(struct usb_serial_port *port, struct file *file,  	unsigned int set, unsigned int clear);  static void ti_break(struct usb_serial_port *port, int break_state); -static void ti_interrupt_callback(struct urb *urb, struct pt_regs *regs); -static void ti_bulk_in_callback(struct urb *urb, struct pt_regs *regs); -static void ti_bulk_out_callback(struct urb *urb, struct pt_regs *regs); +static void ti_interrupt_callback(struct urb *urb); +static void ti_bulk_in_callback(struct urb *urb); +static void ti_bulk_out_callback(struct urb *urb);  static void ti_recv(struct device *dev, struct tty_struct *tty,  	unsigned char *data, int length); @@ -1098,7 +1098,7 @@ static void ti_break(struct usb_serial_port *port, int break_state)  } -static void ti_interrupt_callback(struct urb *urb, struct pt_regs *regs) +static void ti_interrupt_callback(struct urb *urb)  {  	struct ti_device *tdev = (struct ti_device *)urb->context;  	struct usb_serial_port *port; @@ -1178,7 +1178,7 @@ exit:  } -static void ti_bulk_in_callback(struct urb *urb, struct pt_regs *regs) +static void ti_bulk_in_callback(struct urb *urb)  {  	struct ti_port *tport = (struct ti_port *)urb->context;  	struct usb_serial_port *port = tport->tp_port; @@ -1241,7 +1241,7 @@ exit:  } -static void ti_bulk_out_callback(struct urb *urb, struct pt_regs *regs) +static void ti_bulk_out_callback(struct urb *urb)  {  	struct ti_port *tport = (struct ti_port *)urb->context;  	struct usb_serial_port *port = tport->tp_port; diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c index 88949f7884c..befe2e11a04 100644 --- a/drivers/usb/serial/visor.c +++ b/drivers/usb/serial/visor.c @@ -47,9 +47,9 @@ static int  visor_calc_num_ports(struct usb_serial *serial);  static void visor_shutdown	(struct usb_serial *serial);  static int  visor_ioctl		(struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg);  static void visor_set_termios	(struct usb_serial_port *port, struct termios *old_termios); -static void visor_write_bulk_callback	(struct urb *urb, struct pt_regs *regs); -static void visor_read_bulk_callback	(struct urb *urb, struct pt_regs *regs); -static void visor_read_int_callback	(struct urb *urb, struct pt_regs *regs); +static void visor_write_bulk_callback	(struct urb *urb); +static void visor_read_bulk_callback	(struct urb *urb); +static void visor_read_int_callback	(struct urb *urb);  static int  clie_3_5_startup	(struct usb_serial *serial);  static int  treo_attach		(struct usb_serial *serial);  static int clie_5_attach (struct usb_serial *serial); @@ -471,7 +471,7 @@ static int visor_chars_in_buffer (struct usb_serial_port *port)  } -static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void visor_write_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct visor_private *priv = usb_get_serial_port_data(port); @@ -494,7 +494,7 @@ static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs)  } -static void visor_read_bulk_callback (struct urb *urb, struct pt_regs *regs) +static void visor_read_bulk_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct visor_private *priv = usb_get_serial_port_data(port); @@ -539,7 +539,7 @@ static void visor_read_bulk_callback (struct urb *urb, struct pt_regs *regs)  	return;  } -static void visor_read_int_callback (struct urb *urb, struct pt_regs *regs) +static void visor_read_int_callback (struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	int result; diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c index 6e6c7934be3..4d1cd7aeccd 100644 --- a/drivers/usb/serial/whiteheat.c +++ b/drivers/usb/serial/whiteheat.c @@ -152,8 +152,8 @@ static void whiteheat_break_ctl		(struct usb_serial_port *port, int break_state)  static int  whiteheat_chars_in_buffer	(struct usb_serial_port *port);  static void whiteheat_throttle		(struct usb_serial_port *port);  static void whiteheat_unthrottle	(struct usb_serial_port *port); -static void whiteheat_read_callback	(struct urb *urb, struct pt_regs *regs); -static void whiteheat_write_callback	(struct urb *urb, struct pt_regs *regs); +static void whiteheat_read_callback	(struct urb *urb); +static void whiteheat_write_callback	(struct urb *urb);  static struct usb_serial_driver whiteheat_fake_device = {  	.driver = { @@ -235,8 +235,8 @@ struct whiteheat_private {  /* local function prototypes */  static int start_command_port(struct usb_serial *serial);  static void stop_command_port(struct usb_serial *serial); -static void command_port_write_callback(struct urb *urb, struct pt_regs *regs); -static void command_port_read_callback(struct urb *urb, struct pt_regs *regs); +static void command_port_write_callback(struct urb *urb); +static void command_port_read_callback(struct urb *urb);  static int start_port_read(struct usb_serial_port *port);  static struct whiteheat_urb_wrap *urb_to_wrap(struct urb *urb, struct list_head *head); @@ -958,7 +958,7 @@ static void whiteheat_unthrottle (struct usb_serial_port *port)  /*****************************************************************************   * Connect Tech's White Heat callback routines   *****************************************************************************/ -static void command_port_write_callback (struct urb *urb, struct pt_regs *regs) +static void command_port_write_callback (struct urb *urb)  {  	dbg("%s", __FUNCTION__); @@ -969,7 +969,7 @@ static void command_port_write_callback (struct urb *urb, struct pt_regs *regs)  } -static void command_port_read_callback (struct urb *urb, struct pt_regs *regs) +static void command_port_read_callback (struct urb *urb)  {  	struct usb_serial_port *command_port = (struct usb_serial_port *)urb->context;  	struct whiteheat_command_private *command_info; @@ -1019,7 +1019,7 @@ static void command_port_read_callback (struct urb *urb, struct pt_regs *regs)  } -static void whiteheat_read_callback(struct urb *urb, struct pt_regs *regs) +static void whiteheat_read_callback(struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct whiteheat_urb_wrap *wrap; @@ -1061,7 +1061,7 @@ static void whiteheat_read_callback(struct urb *urb, struct pt_regs *regs)  } -static void whiteheat_write_callback(struct urb *urb, struct pt_regs *regs) +static void whiteheat_write_callback(struct urb *urb)  {  	struct usb_serial_port *port = (struct usb_serial_port *)urb->context;  	struct whiteheat_private *info = usb_get_serial_port_data(port); diff --git a/drivers/usb/storage/onetouch.c b/drivers/usb/storage/onetouch.c index f843a0bcf10..3baf448e300 100644 --- a/drivers/usb/storage/onetouch.c +++ b/drivers/usb/storage/onetouch.c @@ -53,7 +53,7 @@ struct usb_onetouch {  	unsigned int is_open:1;  }; -static void usb_onetouch_irq(struct urb *urb, struct pt_regs *regs) +static void usb_onetouch_irq(struct urb *urb)  {  	struct usb_onetouch *onetouch = urb->context;  	signed char *data = onetouch->data; @@ -72,7 +72,6 @@ static void usb_onetouch_irq(struct urb *urb, struct pt_regs *regs)  		goto resubmit;  	} -	input_regs(dev, regs);  	input_report_key(dev, ONETOUCH_BUTTON, data[0] & 0x02);  	input_sync(dev); diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c index f23514c4e64..47644b5b615 100644 --- a/drivers/usb/storage/transport.c +++ b/drivers/usb/storage/transport.c @@ -108,7 +108,7 @@  /* This is the completion handler which will wake us up when an URB   * completes.   */ -static void usb_stor_blocking_completion(struct urb *urb, struct pt_regs *regs) +static void usb_stor_blocking_completion(struct urb *urb)  {  	struct completion *urb_done_ptr = (struct completion *)urb->context; diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c index 1b51d3187a9..296b091cf16 100644 --- a/drivers/usb/usb-skeleton.c +++ b/drivers/usb/usb-skeleton.c @@ -158,7 +158,7 @@ exit:  	return retval;  } -static void skel_write_bulk_callback(struct urb *urb, struct pt_regs *regs) +static void skel_write_bulk_callback(struct urb *urb)  {  	struct usb_skel *dev; diff --git a/drivers/video/amifb.c b/drivers/video/amifb.c index f1ba54f4fc3..a4e3fca0589 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, struct pt_regs *fp); +static irqreturn_t amifb_interrupt(int irq, void *dev_id);  static u_long chipalloc(u_long size);  static void chipfree(void); @@ -2492,7 +2492,7 @@ static int flash_cursor(void)  	 * VBlank Display Interrupt  	 */ -static irqreturn_t amifb_interrupt(int irq, void *dev_id, struct pt_regs *fp) +static irqreturn_t amifb_interrupt(int irq, 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 70dd8115a4d..ab34b96acc3 100644 --- a/drivers/video/arcfb.c +++ b/drivers/video/arcfb.c @@ -218,8 +218,7 @@ static int arcfb_pan_display(struct fb_var_screeninfo *var,  	return -EINVAL;  } -static irqreturn_t arcfb_interrupt(int vec, void *dev_instance, -		struct pt_regs *regs) +static irqreturn_t arcfb_interrupt(int vec, 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 5831893bf7a..02c41a626fa 100644 --- a/drivers/video/atafb.c +++ b/drivers/video/atafb.c @@ -1521,7 +1521,7 @@ static void falcon_set_par( struct atafb_par *par )  } -static irqreturn_t falcon_vbl_switcher( int irq, void *dummy, struct pt_regs *fp ) +static irqreturn_t falcon_vbl_switcher( int irq, 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 b45c9fd1b33..b77b3092392 100644 --- a/drivers/video/aty/atyfb_base.c +++ b/drivers/video/aty/atyfb_base.c @@ -1532,7 +1532,7 @@ static int atyfb_open(struct fb_info *info, int user)  	return (0);  } -static irqreturn_t aty_irq(int irq, void *dev_id, struct pt_regs *fp) +static irqreturn_t aty_irq(int 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 c6a5f0ccc10..dbf4ec3f6d5 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, struct pt_regs *regs) +static irqreturn_t au1200fb_handle_irq(int 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 8c041daa3a1..302174b8e47 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -204,7 +204,7 @@ static struct class_device *fbcon_class_device;   */  static int vbl_detected; -static irqreturn_t fb_vbl_detect(int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t fb_vbl_detect(int irq, void *dummy)  {  	vbl_detected++;  	return IRQ_HANDLED; @@ -414,7 +414,7 @@ static void fb_flashcursor(void *private)  #if defined(CONFIG_ATARI) || defined(CONFIG_MAC)  static int cursor_blink_rate; -static irqreturn_t fb_vbl_handler(int irq, void *dev_id, struct pt_regs *fp) +static irqreturn_t fb_vbl_handler(int irq, void *dev_id)  {  	struct fb_info *info = dev_id; diff --git a/drivers/video/intelfb/intelfbhw.c b/drivers/video/intelfb/intelfbhw.c index f887f1efd3f..eeeeff9a09e 100644 --- a/drivers/video/intelfb/intelfbhw.c +++ b/drivers/video/intelfb/intelfbhw.c @@ -1952,7 +1952,7 @@ intelfbhw_cursor_reset(struct intelfb_info *dinfo) {  }  static irqreturn_t -intelfbhw_irq(int irq, void *dev_id, struct pt_regs *fp) { +intelfbhw_irq(int irq, void *dev_id) {  	int handled = 0;  	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 7acf01c181e..e9b4115fcad 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, struct pt_regs *fp) +static irqreturn_t matrox_irq(int irq, void *dev_id)  {  	u_int32_t status;  	int handled = 0; diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c index 78dc59a1751..c7bc80921f1 100644 --- a/drivers/video/pvr2fb.c +++ b/drivers/video/pvr2fb.c @@ -209,7 +209,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, struct pt_regs *fp); +static irqreturn_t pvr2fb_interrupt(int irq, 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, struct pt_regs *fp) +static irqreturn_t pvr2fb_interrupt(int irq, void *dev_id)  {  	struct fb_info *info = dev_id; diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index 3bc5da4a57c..8a8ae55a740 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c @@ -846,7 +846,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, struct pt_regs *regs) +static irqreturn_t pxafb_handle_irq(int 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 ad3bdd6f1ac..59407343cc7 100644 --- a/drivers/video/s3c2410fb.c +++ b/drivers/video/s3c2410fb.c @@ -614,7 +614,7 @@ static void s3c2410fb_write_palette(struct s3c2410fb_info *fbi)  	}  } -static irqreturn_t s3c2410fb_irq(int irq, void *dev_id, struct pt_regs *r) +static irqreturn_t s3c2410fb_irq(int irq, void *dev_id)  {  	struct s3c2410fb_info *fbi = dev_id;  	unsigned long lcdirq = readl(S3C2410_LCDINTPND); diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c index a2e6e7205d7..cd10b18150b 100644 --- a/drivers/video/sa1100fb.c +++ b/drivers/video/sa1100fb.c @@ -1085,7 +1085,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, struct pt_regs *regs) +static irqreturn_t sa1100fb_handle_irq(int irq, void *dev_id)  {  	struct sa1100fb_info *fbi = dev_id;  	unsigned int lcsr = LCSR; diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index 8d88e58ed5c..93c43b676e5 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c @@ -647,7 +647,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,  		if (get_user(c, buf))  			return -EFAULT; -		__handle_sysrq(c, NULL, NULL, 0); +		__handle_sysrq(c, NULL, 0);  	}  	return count;  } diff --git a/include/asm-frv/dma.h b/include/asm-frv/dma.h index 18d6bb8f84f..683c47d48a5 100644 --- a/include/asm-frv/dma.h +++ b/include/asm-frv/dma.h @@ -24,10 +24,7 @@  /*   * FRV DMA controller management   */ -struct pt_regs; - -typedef irqreturn_t (*dma_irq_handler_t)(int dmachan, unsigned long cstr, void *data, -					 struct pt_regs *regs); +typedef irqreturn_t (*dma_irq_handler_t)(int dmachan, unsigned long cstr, void *data);  extern void frv_dma_init(void); diff --git a/include/asm-frv/irq_regs.h b/include/asm-frv/irq_regs.h new file mode 100644 index 00000000000..d22e83289ad --- /dev/null +++ b/include/asm-frv/irq_regs.h @@ -0,0 +1,27 @@ +/* FRV per-CPU frame pointer holder + * + * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#ifndef _ASM_IRQ_REGS_H +#define _ASM_IRQ_REGS_H + +/* + * Per-cpu current frame pointer - the location of the last exception frame on + * the stack + * - on FRV, GR28 is dedicated to keeping a pointer to the current exception + *   frame + */ +#define ARCH_HAS_OWN_IRQ_REGS + +#ifndef __ASSEMBLY__ +#define get_irq_regs() (__frame) +#endif + +#endif /* _ASM_IRQ_REGS_H */ diff --git a/include/asm-frv/ptrace.h b/include/asm-frv/ptrace.h index 7ff525162a7..9a2241b8eb1 100644 --- a/include/asm-frv/ptrace.h +++ b/include/asm-frv/ptrace.h @@ -12,6 +12,7 @@  #define _ASM_PTRACE_H  #include <asm/registers.h> +#include <asm/irq_regs.h>  #define in_syscall(regs) (((regs)->tbr & TBR_TT) == TBR_TT_TRAP0) diff --git a/include/asm-generic/irq_regs.h b/include/asm-generic/irq_regs.h new file mode 100644 index 00000000000..5ae1d07d4a1 --- /dev/null +++ b/include/asm-generic/irq_regs.h @@ -0,0 +1,37 @@ +/* Fallback per-CPU frame pointer holder + * + * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#ifndef _ASM_GENERIC_IRQ_REGS_H +#define _ASM_GENERIC_IRQ_REGS_H + +#include <linux/percpu.h> + +/* + * Per-cpu current frame pointer - the location of the last exception frame on + * the stack + */ +DECLARE_PER_CPU(struct pt_regs *, __irq_regs); + +static inline struct pt_regs *get_irq_regs(void) +{ +	return __get_cpu_var(__irq_regs); +} + +static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs) +{ +	struct pt_regs *old_regs, **pp_regs = &__get_cpu_var(__irq_regs); + +	old_regs = *pp_regs; +	*pp_regs = new_regs; +	return old_regs; +} + +#endif /* _ASM_GENERIC_IRQ_REGS_H */ diff --git a/include/asm-i386/apic.h b/include/asm-i386/apic.h index 3a42b7d6fc9..b9529578fc3 100644 --- a/include/asm-i386/apic.h +++ b/include/asm-i386/apic.h @@ -98,7 +98,7 @@ extern void sync_Arb_IDs (void);  extern void init_bsp_APIC (void);  extern void setup_local_APIC (void);  extern void init_apic_mappings (void); -extern void smp_local_timer_interrupt (struct pt_regs * regs); +extern void smp_local_timer_interrupt (void);  extern void setup_boot_APIC_clock (void);  extern void setup_secondary_APIC_clock (void);  extern int APIC_init_uniprocessor (void); @@ -107,7 +107,7 @@ extern void enable_APIC_timer(void);  extern void enable_NMI_through_LVT0 (void * dummy); -void smp_send_timer_broadcast_ipi(struct pt_regs *regs); +void smp_send_timer_broadcast_ipi(void);  void switch_APIC_timer_to_ipi(void *cpumask);  void switch_ipi_to_APIC_timer(void *cpumask);  #define ARCH_APICTIMER_STOPS_ON_C3	1 diff --git a/include/asm-i386/arch_hooks.h b/include/asm-i386/arch_hooks.h index 238cf4275b9..a8c1fca9726 100644 --- a/include/asm-i386/arch_hooks.h +++ b/include/asm-i386/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, struct pt_regs *regs); +extern irqreturn_t timer_interrupt(int irq, void *dev_id);  /* these are the defined hooks */  extern void intr_init_hook(void); diff --git a/include/asm-i386/floppy.h b/include/asm-i386/floppy.h index 359ead60b71..44ef2f55a8e 100644 --- a/include/asm-i386/floppy.h +++ b/include/asm-i386/floppy.h @@ -51,7 +51,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, struct pt_regs * regs) +static irqreturn_t floppy_hardint(int irq, void *dev_id)  {  	register unsigned char st; @@ -63,7 +63,7 @@ static irqreturn_t floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)  	static int dma_wait=0;  #endif  	if (!doing_pdma) -		return floppy_interrupt(irq, dev_id, regs); +		return floppy_interrupt(irq, dev_id);  #ifdef TRACE_FLPY_INT  	if(!calls) @@ -106,7 +106,7 @@ static irqreturn_t 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(irq, dev_id);  		return IRQ_HANDLED;  	}  #ifdef TRACE_FLPY_INT diff --git a/include/asm-i386/hpet.h b/include/asm-i386/hpet.h index af5d435519d..e47be9a56cc 100644 --- a/include/asm-i386/hpet.h +++ b/include/asm-i386/hpet.h @@ -108,7 +108,7 @@ extern int hpet_set_alarm_time(unsigned char hrs, unsigned char min, unsigned ch  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, struct pt_regs *regs); +extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id);  #endif /* CONFIG_HPET_EMULATE_RTC */  #endif /* CONFIG_HPET_TIMER */  #endif /* _I386_HPET_H */ diff --git a/include/asm-i386/hw_irq.h b/include/asm-i386/hw_irq.h index 88f02a07356..8806c7e002a 100644 --- a/include/asm-i386/hw_irq.h +++ b/include/asm-i386/hw_irq.h @@ -41,7 +41,7 @@ fastcall void call_function_interrupt(void);  fastcall void apic_timer_interrupt(void);  fastcall void error_interrupt(void);  fastcall void spurious_interrupt(void); -fastcall void thermal_interrupt(struct pt_regs *); +fastcall void thermal_interrupt(void);  #define platform_legacy_irq(irq)	((irq) < 16)  #endif diff --git a/include/asm-i386/irq_regs.h b/include/asm-i386/irq_regs.h new file mode 100644 index 00000000000..3dd9c0b7027 --- /dev/null +++ b/include/asm-i386/irq_regs.h @@ -0,0 +1 @@ +#include <asm-generic/irq_regs.h> diff --git a/include/asm-i386/mach-default/do_timer.h b/include/asm-i386/mach-default/do_timer.h index 4182c347ef8..7d606e3364a 100644 --- a/include/asm-i386/mach-default/do_timer.h +++ b/include/asm-i386/mach-default/do_timer.h @@ -14,11 +14,11 @@   *	timer interrupt as a means of triggering reschedules etc.   **/ -static inline void do_timer_interrupt_hook(struct pt_regs *regs) +static inline void do_timer_interrupt_hook(void)  {  	do_timer(1);  #ifndef CONFIG_SMP -	update_process_times(user_mode_vm(regs)); +	update_process_times(user_mode_vm(get_irq_regs()));  #endif  /*   * In the SMP case we use the local APIC timer interrupt to do the @@ -26,10 +26,10 @@ static inline void do_timer_interrupt_hook(struct pt_regs *regs)   * system, in that case we have to call the local interrupt handler.   */  #ifndef CONFIG_X86_LOCAL_APIC -	profile_tick(CPU_PROFILING, regs); +	profile_tick(CPU_PROFILING);  #else  	if (!using_apic_timer) -		smp_local_timer_interrupt(regs); +		smp_local_timer_interrupt();  #endif  } diff --git a/include/asm-i386/mach-visws/do_timer.h b/include/asm-i386/mach-visws/do_timer.h index 8db618c5a72..21cd696d4d0 100644 --- a/include/asm-i386/mach-visws/do_timer.h +++ b/include/asm-i386/mach-visws/do_timer.h @@ -4,14 +4,14 @@  #include <asm/i8259.h>  #include "cobalt.h" -static inline void do_timer_interrupt_hook(struct pt_regs *regs) +static inline void do_timer_interrupt_hook(void)  {  	/* Clear the interrupt */  	co_cpu_write(CO_CPU_STAT,co_cpu_read(CO_CPU_STAT) & ~CO_STAT_TIMEINTR);  	do_timer(1);  #ifndef CONFIG_SMP -	update_process_times(user_mode_vm(regs)); +	update_process_times(user_mode_vm(irq_regs));  #endif  /*   * In the SMP case we use the local APIC timer interrupt to do the @@ -19,10 +19,10 @@ static inline void do_timer_interrupt_hook(struct pt_regs *regs)   * system, in that case we have to call the local interrupt handler.   */  #ifndef CONFIG_X86_LOCAL_APIC -	profile_tick(CPU_PROFILING, regs); +	profile_tick(CPU_PROFILING);  #else  	if (!using_apic_timer) -		smp_local_timer_interrupt(regs); +		smp_local_timer_interrupt();  #endif  } diff --git a/include/asm-i386/mach-voyager/do_timer.h b/include/asm-i386/mach-voyager/do_timer.h index 099fe9f5c1b..04e69c104a7 100644 --- a/include/asm-i386/mach-voyager/do_timer.h +++ b/include/asm-i386/mach-voyager/do_timer.h @@ -1,14 +1,14 @@  /* defines for inline arch setup functions */  #include <asm/voyager.h> -static inline void do_timer_interrupt_hook(struct pt_regs *regs) +static inline void do_timer_interrupt_hook(void)  {  	do_timer(1);  #ifndef CONFIG_SMP -	update_process_times(user_mode_vm(regs)); +	update_process_times(user_mode_vm(irq_regs));  #endif -	voyager_timer_interrupt(regs); +	voyager_timer_interrupt();  }  static inline int do_timer_overflow(int count) diff --git a/include/asm-i386/voyager.h b/include/asm-i386/voyager.h index aaf432dd767..e74c54aa757 100644 --- a/include/asm-i386/voyager.h +++ b/include/asm-i386/voyager.h @@ -505,8 +505,8 @@ extern int voyager_memory_detect(int region, __u32 *addr, __u32 *length);  extern void voyager_smp_intr_init(void);  extern __u8 voyager_extended_cmos_read(__u16 cmos_address);  extern void voyager_smp_dump(void); -extern void voyager_timer_interrupt(struct pt_regs *regs); -extern void smp_local_timer_interrupt(struct pt_regs * regs); +extern void voyager_timer_interrupt(void); +extern void smp_local_timer_interrupt(void);  extern void voyager_power_off(void);  extern void smp_voyager_power_off(void *dummy);  extern void voyager_restart(void); diff --git a/include/asm-ia64/irq_regs.h b/include/asm-ia64/irq_regs.h new file mode 100644 index 00000000000..3dd9c0b7027 --- /dev/null +++ b/include/asm-ia64/irq_regs.h @@ -0,0 +1 @@ +#include <asm-generic/irq_regs.h> diff --git a/include/asm-ia64/machvec.h b/include/asm-ia64/machvec.h index 90cba967df3..7ffbddf5306 100644 --- a/include/asm-ia64/machvec.h +++ b/include/asm-ia64/machvec.h @@ -26,7 +26,7 @@ typedef void ia64_mv_setup_t (char **);  typedef void ia64_mv_cpu_init_t (void);  typedef void ia64_mv_irq_init_t (void);  typedef void ia64_mv_send_ipi_t (int, int, int, int); -typedef void ia64_mv_timer_interrupt_t (int, void *, struct pt_regs *); +typedef void ia64_mv_timer_interrupt_t (int, void *);  typedef void ia64_mv_global_tlb_purge_t (struct mm_struct *, unsigned long, unsigned long, unsigned long);  typedef void ia64_mv_tlb_migrate_finish_t (struct mm_struct *);  typedef unsigned int ia64_mv_local_vector_to_irq (u8); @@ -96,7 +96,7 @@ machvec_noop_task (struct task_struct *task)  }  extern void machvec_setup (char **); -extern void machvec_timer_interrupt (int, void *, struct pt_regs *); +extern void machvec_timer_interrupt (int, void *);  extern void machvec_dma_sync_single (struct device *, dma_addr_t, size_t, int);  extern void machvec_dma_sync_sg (struct device *, struct scatterlist *, int, int);  extern void machvec_tlb_migrate_finish (struct mm_struct *); diff --git a/include/asm-mips/irq_regs.h b/include/asm-mips/irq_regs.h new file mode 100644 index 00000000000..3dd9c0b7027 --- /dev/null +++ b/include/asm-mips/irq_regs.h @@ -0,0 +1 @@ +#include <asm-generic/irq_regs.h> diff --git a/include/asm-mips/time.h b/include/asm-mips/time.h index 2d543735668..30f21df3925 100644 --- a/include/asm-mips/time.h +++ b/include/asm-mips/time.h @@ -67,7 +67,7 @@ extern unsigned long (*do_gettimeoffset)(void);  /*   * high-level timer interrupt routines.   */ -extern irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs); +extern irqreturn_t timer_interrupt(int irq, void *dev_id);  /*   * the corresponding low-level timer interrupt routine. @@ -77,7 +77,7 @@ extern asmlinkage void ll_timer_interrupt(int irq, struct pt_regs *regs);  /*   * profiling and process accouting is done separately in local_timer_interrupt   */ -extern void local_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs); +extern void local_timer_interrupt(int irq, void *dev_id);  extern asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs);  /* diff --git a/include/asm-powerpc/irq.h b/include/asm-powerpc/irq.h index 89ed545b446..f960f5346f4 100644 --- a/include/asm-powerpc/irq.h +++ b/include/asm-powerpc/irq.h @@ -825,7 +825,7 @@ extern struct thread_info *softirq_ctx[NR_CPUS];  extern void irq_ctx_init(void);  extern void call_do_softirq(struct thread_info *tp); -extern int call_handle_irq(int irq, void *p1, void *p2, +extern int call_handle_irq(int irq, void *p1,  			   struct thread_info *tp, void *func);  #else  #define irq_ctx_init() diff --git a/include/asm-powerpc/irq_regs.h b/include/asm-powerpc/irq_regs.h new file mode 100644 index 00000000000..ba94b51a0a7 --- /dev/null +++ b/include/asm-powerpc/irq_regs.h @@ -0,0 +1,2 @@ +#include <asm-generic/irq_regs.h> + diff --git a/include/asm-powerpc/smp.h b/include/asm-powerpc/smp.h index 068f119aa29..20ea7c70bc3 100644 --- a/include/asm-powerpc/smp.h +++ b/include/asm-powerpc/smp.h @@ -34,8 +34,7 @@ extern void cpu_die(void);  #ifdef CONFIG_SMP  extern void smp_send_debugger_break(int cpu); -struct pt_regs; -extern void smp_message_recv(int, struct pt_regs *); +extern void smp_message_recv(int);  #ifdef CONFIG_HOTPLUG_CPU  extern void fixup_irqs(cpumask_t map); diff --git a/include/asm-x86_64/apic.h b/include/asm-x86_64/apic.h index 9e66d32330c..e81d0f289f0 100644 --- a/include/asm-x86_64/apic.h +++ b/include/asm-x86_64/apic.h @@ -77,7 +77,7 @@ extern void sync_Arb_IDs (void);  extern void init_bsp_APIC (void);  extern void setup_local_APIC (void);  extern void init_apic_mappings (void); -extern void smp_local_timer_interrupt (struct pt_regs * regs); +extern void smp_local_timer_interrupt (void);  extern void setup_boot_APIC_clock (void);  extern void setup_secondary_APIC_clock (void);  extern int APIC_init_uniprocessor (void); diff --git a/include/asm-x86_64/floppy.h b/include/asm-x86_64/floppy.h index 32ff5d13271..6ea13c3806f 100644 --- a/include/asm-x86_64/floppy.h +++ b/include/asm-x86_64/floppy.h @@ -51,7 +51,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, struct pt_regs * regs) +static irqreturn_t floppy_hardint(int irq, void *dev_id)  {  	register unsigned char st; @@ -63,7 +63,7 @@ static irqreturn_t floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)  	static int dma_wait=0;  #endif  	if (!doing_pdma) -		return floppy_interrupt(irq, dev_id, regs); +		return floppy_interrupt(irq, dev_id);  #ifdef TRACE_FLPY_INT  	if(!calls) @@ -106,7 +106,7 @@ static irqreturn_t 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(irq, dev_id);  		return IRQ_HANDLED;  	}  #ifdef TRACE_FLPY_INT diff --git a/include/asm-x86_64/irq_regs.h b/include/asm-x86_64/irq_regs.h new file mode 100644 index 00000000000..3dd9c0b7027 --- /dev/null +++ b/include/asm-x86_64/irq_regs.h @@ -0,0 +1 @@ +#include <asm-generic/irq_regs.h> diff --git a/include/asm-x86_64/proto.h b/include/asm-x86_64/proto.h index c28fc2db217..c181fef786e 100644 --- a/include/asm-x86_64/proto.h +++ b/include/asm-x86_64/proto.h @@ -66,7 +66,7 @@ extern void free_bootmem_generic(unsigned long phys, unsigned len);  extern void load_gs_index(unsigned gs);  extern void stop_timer_interrupt(void); -extern void main_timer_handler(struct pt_regs *regs); +extern void main_timer_handler(void);  extern unsigned long end_pfn_map;  @@ -124,7 +124,7 @@ extern int notsc_setup(char *);  extern int gsi_irq_sharing(int gsi); -extern void smp_local_timer_interrupt(struct pt_regs * regs); +extern void smp_local_timer_interrupt(void);  long do_arch_prctl(struct task_struct *task, int code, unsigned long addr); diff --git a/include/linux/adb.h b/include/linux/adb.h index b7305b17827..64d8878e144 100644 --- a/include/linux/adb.h +++ b/include/linux/adb.h @@ -90,10 +90,10 @@ extern struct blocking_notifier_head adb_client_list;  int adb_request(struct adb_request *req, void (*done)(struct adb_request *),  		int flags, int nbytes, ...);  int adb_register(int default_id,int handler_id,struct adb_ids *ids, -		 void (*handler)(unsigned char *, int, struct pt_regs *, int)); +		 void (*handler)(unsigned char *, int, int));  int adb_unregister(int index);  void adb_poll(void); -void adb_input(unsigned char *, int, struct pt_regs *, int); +void adb_input(unsigned char *, int, int);  int adb_reset_bus(void);  int adb_try_handler_change(int address, int new_id); diff --git a/include/linux/arcdevice.h b/include/linux/arcdevice.h index 231ba090ae3..2f85049cfb3 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, struct pt_regs *regs); +irqreturn_t arcnet_interrupt(int irq, void *dev_id);  struct net_device *alloc_arcdev(char *name);  #endif				/* __KERNEL__ */ diff --git a/include/linux/hiddev.h b/include/linux/hiddev.h index 945ba1ad14a..acbdae6d7ae 100644 --- a/include/linux/hiddev.h +++ b/include/linux/hiddev.h @@ -222,7 +222,7 @@ struct hid_report;  int hiddev_connect(struct hid_device *);  void hiddev_disconnect(struct hid_device *);  void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, -		      struct hid_usage *usage, __s32 value, struct pt_regs *regs); +		      struct hid_usage *usage, __s32 value);  void hiddev_report_event(struct hid_device *hid, struct hid_report *report);  int __init hiddev_init(void);  void hiddev_exit(void); @@ -230,7 +230,7 @@ void hiddev_exit(void);  static inline int hiddev_connect(struct hid_device *hid) { return -1; }  static inline void hiddev_disconnect(struct hid_device *hid) { }  static inline void hiddev_hid_event(struct hid_device *hid, struct hid_field *field, -		      struct hid_usage *usage, __s32 value, struct pt_regs *regs) { } +		      struct hid_usage *usage, __s32 value) { }  static inline void hiddev_report_event(struct hid_device *hid, struct hid_report *report) { }  static inline int hiddev_init(void) { return 0; }  static inline void hiddev_exit(void) { } diff --git a/include/linux/ide.h b/include/linux/ide.h index 07d8d725541..9c2050293f1 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, struct pt_regs *regs); +extern irqreturn_t ide_intr(int irq, void *dev_id);  extern void do_ide_request(request_queue_t *);  void ide_init_disk(struct gendisk *, ide_drive_t *); diff --git a/include/linux/input.h b/include/linux/input.h index 5770105471d..c38507ba38b 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -953,7 +953,6 @@ struct input_dev {  	unsigned int repeat_key;  	struct timer_list timer; -	struct pt_regs *regs;  	int state;  	int sync; @@ -1149,15 +1148,9 @@ static inline void input_report_switch(struct input_dev *dev, unsigned int code,  	input_event(dev, EV_SW, code, !!value);  } -static inline void input_regs(struct input_dev *dev, struct pt_regs *regs) -{ -	dev->regs = regs; -} -  static inline void input_sync(struct input_dev *dev)  {  	input_event(dev, EV_SYN, SYN_REPORT, 0); -	dev->regs = NULL;  }  static inline void input_set_abs_params(struct input_dev *dev, int axis, int min, int max, int fuzz, int flat) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 19782350dcc..5b83e7b5962 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -64,7 +64,7 @@  #define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING  #define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK -typedef irqreturn_t (*irq_handler_t)(int, void *, struct pt_regs *); +typedef irqreturn_t (*irq_handler_t)(int, void *);  struct irqaction {  	irq_handler_t handler; @@ -77,7 +77,7 @@ struct irqaction {  	struct proc_dir_entry *dir;  }; -extern irqreturn_t no_action(int cpl, void *dev_id, struct pt_regs *regs); +extern irqreturn_t no_action(int cpl, void *dev_id);  extern int request_irq(unsigned int, irq_handler_t handler,  		       unsigned long, const char *, void *);  extern void free_irq(unsigned int, void *); diff --git a/include/linux/ioc3.h b/include/linux/ioc3.h index da7c09e4ede..38b286e9a46 100644 --- a/include/linux/ioc3.h +++ b/include/linux/ioc3.h @@ -63,7 +63,7 @@ struct ioc3_submodule {  	/* IRQ stuff */  	unsigned int irq_mask;	/* IOC3 IRQ mask, leave clear for Ethernet */  	int reset_mask;		/* non-zero if you want the ioc3.c module to reset interrupts */ -	int (*intr) (struct ioc3_submodule *, struct ioc3_driver_data *, unsigned int, struct pt_regs *); +	int (*intr) (struct ioc3_submodule *, struct ioc3_driver_data *, unsigned int);  	/* private submodule data */  	void *data;		/* assigned by submodule */  }; diff --git a/include/linux/irq.h b/include/linux/irq.h index b947d46e4b1..c64f3cc7e87 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -21,11 +21,11 @@  #include <asm/irq.h>  #include <asm/ptrace.h> +#include <asm/irq_regs.h>  struct irq_desc;  typedef	void fastcall (*irq_flow_handler_t)(unsigned int irq, -					    struct irq_desc *desc, -					    struct pt_regs *regs); +					    struct irq_desc *desc);  /* @@ -258,28 +258,18 @@ static inline int select_smp_affinity(unsigned int irq)  extern int no_irq_affinity;  /* Handle irq action chains: */ -extern int handle_IRQ_event(unsigned int irq, struct pt_regs *regs, -			    struct irqaction *action); +extern int handle_IRQ_event(unsigned int irq, struct irqaction *action);  /*   * Built-in IRQ handlers for various IRQ types,   * callable via desc->chip->handle_irq()   */ -extern void fastcall -handle_level_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs); -extern void fastcall -handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc, -			 struct pt_regs *regs); -extern void fastcall -handle_edge_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs); -extern void fastcall -handle_simple_irq(unsigned int irq, struct irq_desc *desc, -		  struct pt_regs *regs); -extern void fastcall -handle_percpu_irq(unsigned int irq, struct irq_desc *desc, -		  struct pt_regs *regs); -extern void fastcall -handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs); +extern void fastcall handle_level_irq(unsigned int irq, struct irq_desc *desc); +extern void fastcall handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc); +extern void fastcall handle_edge_irq(unsigned int irq, struct irq_desc *desc); +extern void fastcall handle_simple_irq(unsigned int irq, struct irq_desc *desc); +extern void fastcall handle_percpu_irq(unsigned int irq, struct irq_desc *desc); +extern void fastcall handle_bad_irq(unsigned int irq, struct irq_desc *desc);  /*   * Get a descriptive string for the highlevel handler, for @@ -292,7 +282,7 @@ extern const char *handle_irq_name(irq_flow_handler_t handle);   * (is an explicit fastcall, because i386 4KSTACKS calls it from assembly)   */  #ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ -extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs); +extern fastcall unsigned int __do_IRQ(unsigned int irq);  #endif  /* @@ -301,23 +291,23 @@ extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs);   * irqchip-style controller then we call the ->handle_irq() handler,   * and it calls __do_IRQ() if it's attached to an irqtype-style controller.   */ -static inline void generic_handle_irq(unsigned int irq, struct pt_regs *regs) +static inline void generic_handle_irq(unsigned int irq)  {  	struct irq_desc *desc = irq_desc + irq;  #ifdef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ -	desc->handle_irq(irq, desc, regs); +	desc->handle_irq(irq, desc);  #else  	if (likely(desc->handle_irq)) -		desc->handle_irq(irq, desc, regs); +		desc->handle_irq(irq, desc);  	else -		__do_IRQ(irq, regs); +		__do_IRQ(irq);  #endif  }  /* Handling of unhandled and spurious interrupts: */  extern void note_interrupt(unsigned int irq, struct irq_desc *desc, -			   int action_ret, struct pt_regs *regs); +			   int action_ret);  /* Resending of interrupts :*/  void check_irq_resend(struct irq_desc *desc, unsigned int irq); diff --git a/include/linux/libata.h b/include/linux/libata.h index d1af1dbeaeb..d0a7ad5ed51 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -628,7 +628,7 @@ struct ata_port_operations {  	void (*error_handler) (struct ata_port *ap);  	void (*post_internal_cmd) (struct ata_queued_cmd *qc); -	irqreturn_t (*irq_handler)(int, void *, struct pt_regs *); +	irq_handler_t irq_handler;  	void (*irq_clear) (struct ata_port *);  	u32 (*scr_read) (struct ata_port *ap, unsigned int sc_reg); @@ -769,7 +769,7 @@ extern void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf)  extern int ata_port_start (struct ata_port *ap);  extern void ata_port_stop (struct ata_port *ap);  extern void ata_host_stop (struct ata_host *host); -extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs); +extern irqreturn_t ata_interrupt (int irq, void *dev_instance);  extern void ata_mmio_data_xfer(struct ata_device *adev, unsigned char *buf,  			       unsigned int buflen, int write_data);  extern void ata_pio_data_xfer(struct ata_device *adev, unsigned char *buf, diff --git a/include/linux/parport.h b/include/linux/parport.h index 5bf321e82c9..80682aaa8f1 100644 --- a/include/linux/parport.h +++ b/include/linux/parport.h @@ -229,7 +229,7 @@ struct pardevice {  	int (*preempt)(void *);  	void (*wakeup)(void *);  	void *private; -	void (*irq_func)(int, void *, struct pt_regs *); +	void (*irq_func)(int, void *);  	unsigned int flags;  	struct pardevice *next;  	struct pardevice *prev; @@ -375,7 +375,7 @@ extern void parport_put_port (struct parport *);  struct pardevice *parport_register_device(struct parport *port,   			  const char *name,  			  int (*pf)(void *), void (*kf)(void *), -			  void (*irq_func)(int, void *, struct pt_regs *),  +			  void (*irq_func)(int, void *),   			  int flags, void *handle);  /* parport_unregister unlinks a device from the chain. */ @@ -457,7 +457,7 @@ static __inline__ int parport_yield_blocking(struct pardevice *dev)  #define PARPORT_FLAG_EXCL		(1<<1)	/* EXCL driver registered. */  /* IEEE1284 functions */ -extern void parport_ieee1284_interrupt (int, void *, struct pt_regs *); +extern void parport_ieee1284_interrupt (int, void *);  extern int parport_negotiate (struct parport *, int mode);  extern ssize_t parport_write (struct parport *, const void *buf, size_t len);  extern ssize_t parport_read (struct parport *, void *buf, size_t len); @@ -502,8 +502,7 @@ extern void parport_daisy_fini (struct parport *port);  extern struct pardevice *parport_open (int devnum, const char *name,  				       int (*pf) (void *),  				       void (*kf) (void *), -				       void (*irqf) (int, void *, -						     struct pt_regs *), +				       void (*irqf) (int, void *),  				       int flags, void *handle);  extern void parport_close (struct pardevice *dev);  extern ssize_t parport_device_id (int devnum, char *buffer, size_t len); @@ -512,13 +511,12 @@ extern void parport_daisy_deselect_all (struct parport *port);  extern int parport_daisy_select (struct parport *port, int daisy, int mode);  /* Lowlevel drivers _can_ call this support function to handle irqs.  */ -static __inline__ void parport_generic_irq(int irq, struct parport *port, -					   struct pt_regs *regs) +static __inline__ void parport_generic_irq(int irq, struct parport *port)  { -	parport_ieee1284_interrupt (irq, port, regs); +	parport_ieee1284_interrupt (irq, port);  	read_lock(&port->cad_lock);  	if (port->cad && port->cad->irq_func) -		port->cad->irq_func(irq, port->cad->private, regs); +		port->cad->irq_func(irq, port->cad->private);  	read_unlock(&port->cad_lock);  } diff --git a/include/linux/profile.h b/include/linux/profile.h index e633004ae05..acce53fd38b 100644 --- a/include/linux/profile.h +++ b/include/linux/profile.h @@ -17,7 +17,7 @@ struct notifier_block;  /* init basic kernel profiler */  void __init profile_init(void); -void profile_tick(int, struct pt_regs *); +void profile_tick(int);  void profile_hit(int, void *);  #ifdef CONFIG_PROC_FS  void create_prof_cpu_mask(struct proc_dir_entry *); diff --git a/include/linux/rtc.h b/include/linux/rtc.h index b89f0935705..09ff4c3e271 100644 --- a/include/linux/rtc.h +++ b/include/linux/rtc.h @@ -208,7 +208,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, struct pt_regs *regs); +irqreturn_t rtc_interrupt(int irq, void *dev_id);  #endif /* __KERNEL__ */ diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index b661c19f3f7..463ab953b09 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -409,13 +409,12 @@ int uart_resume_port(struct uart_driver *reg, struct uart_port *port);   * The following are helper functions for the low level drivers.   */  static inline int -uart_handle_sysrq_char(struct uart_port *port, unsigned int ch, -		       struct pt_regs *regs) +uart_handle_sysrq_char(struct uart_port *port, unsigned int ch)  {  #ifdef SUPPORT_SYSRQ  	if (port->sysrq) {  		if (ch && time_before(jiffies, port->sysrq)) { -			handle_sysrq(ch, regs, port->info->tty); +			handle_sysrq(ch, port->info->tty);  			port->sysrq = 0;  			return 1;  		} @@ -425,7 +424,7 @@ uart_handle_sysrq_char(struct uart_port *port, unsigned int ch,  	return 0;  }  #ifndef SUPPORT_SYSRQ -#define uart_handle_sysrq_char(port,ch,regs) uart_handle_sysrq_char(port, 0, NULL) +#define uart_handle_sysrq_char(port,ch) uart_handle_sysrq_char(port, 0)  #endif  /* diff --git a/include/linux/serio.h b/include/linux/serio.h index c9069310b6a..3a697cc6eca 100644 --- a/include/linux/serio.h +++ b/include/linux/serio.h @@ -60,8 +60,7 @@ struct serio_driver {  	unsigned int manual_bind;  	void (*write_wakeup)(struct serio *); -	irqreturn_t (*interrupt)(struct serio *, unsigned char, -			unsigned int, struct pt_regs *); +	irqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int);  	int  (*connect)(struct serio *, struct serio_driver *drv);  	int  (*reconnect)(struct serio *);  	void (*disconnect)(struct serio *); @@ -75,7 +74,7 @@ int serio_open(struct serio *serio, struct serio_driver *drv);  void serio_close(struct serio *serio);  void serio_rescan(struct serio *serio);  void serio_reconnect(struct serio *serio); -irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags, struct pt_regs *regs); +irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned int flags);  void __serio_register_port(struct serio *serio, struct module *owner);  static inline void serio_register_port(struct serio *serio) diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h index e657e523b9b..9df8833670c 100644 --- a/include/linux/sysrq.h +++ b/include/linux/sysrq.h @@ -29,7 +29,7 @@ struct tty_struct;  #define SYSRQ_ENABLE_RTNICE	0x0100  struct sysrq_key_op { -	void (*handler)(int, struct pt_regs *, struct tty_struct *); +	void (*handler)(int, struct tty_struct *);  	char *help_msg;  	char *action_msg;  	int enable_mask; @@ -42,8 +42,8 @@ struct sysrq_key_op {   * are available -- else NULL's).   */ -void handle_sysrq(int, struct pt_regs *, struct tty_struct *); -void __handle_sysrq(int, struct pt_regs *, struct tty_struct *, int check_mask); +void handle_sysrq(int, struct tty_struct *); +void __handle_sysrq(int, struct tty_struct *, int check_mask);  int register_sysrq_key(int, struct sysrq_key_op *);  int unregister_sysrq_key(int, struct sysrq_key_op *);  struct sysrq_key_op *__sysrq_get_key_op(int key); diff --git a/include/linux/usb.h b/include/linux/usb.h index 190cc1b78fe..5482bfb3303 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -764,9 +764,8 @@ struct usb_iso_packet_descriptor {  };  struct urb; -struct pt_regs; -typedef void (*usb_complete_t)(struct urb *, struct pt_regs *); +typedef void (*usb_complete_t)(struct urb *);  /**   * struct urb - USB Request Block diff --git a/include/linux/usb/serial.h b/include/linux/usb/serial.h index 91c983eef89..91b3ea2bbb1 100644 --- a/include/linux/usb/serial.h +++ b/include/linux/usb/serial.h @@ -226,10 +226,10 @@ struct usb_serial_driver {  	int  (*tiocmget)	(struct usb_serial_port *port, struct file *file);  	int  (*tiocmset)	(struct usb_serial_port *port, struct file *file, unsigned int set, unsigned int clear); -	void (*read_int_callback)(struct urb *urb, struct pt_regs *regs); -	void (*write_int_callback)(struct urb *urb, struct pt_regs *regs); -	void (*read_bulk_callback)(struct urb *urb, struct pt_regs *regs); -	void (*write_bulk_callback)(struct urb *urb, struct pt_regs *regs); +	void (*read_int_callback)(struct urb *urb); +	void (*write_int_callback)(struct urb *urb); +	void (*read_bulk_callback)(struct urb *urb); +	void (*write_bulk_callback)(struct urb *urb);  };  #define to_usb_serial_driver(d) container_of(d, struct usb_serial_driver, driver) @@ -262,8 +262,8 @@ extern int usb_serial_generic_write (struct usb_serial_port *port, const unsigne  extern void usb_serial_generic_close (struct usb_serial_port *port, struct file *filp);  extern int usb_serial_generic_write_room (struct usb_serial_port *port);  extern int usb_serial_generic_chars_in_buffer (struct usb_serial_port *port); -extern void usb_serial_generic_read_bulk_callback (struct urb *urb, struct pt_regs *regs); -extern void usb_serial_generic_write_bulk_callback (struct urb *urb, struct pt_regs *regs); +extern void usb_serial_generic_read_bulk_callback (struct urb *urb); +extern void usb_serial_generic_write_bulk_callback (struct urb *urb);  extern void usb_serial_generic_shutdown (struct usb_serial *serial);  extern int usb_serial_generic_register (int debug);  extern void usb_serial_generic_deregister (void); diff --git a/include/sound/cs4231.h b/include/sound/cs4231.h index 60b5b92a131..ab51ce1ba9a 100644 --- a/include/sound/cs4231.h +++ b/include/sound/cs4231.h @@ -273,7 +273,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, struct pt_regs *regs); +irqreturn_t snd_cs4231_interrupt(int irq, 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 892e310c504..3d3c1514cf7 100644 --- a/include/sound/emu10k1.h +++ b/include/sound/emu10k1.h @@ -1194,7 +1194,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, struct pt_regs *regs); +irqreturn_t snd_emu10k1_interrupt(int irq, 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 68a664ab97f..c49ea57db8c 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, struct pt_regs *regs); +irqreturn_t snd_gus_interrupt(int irq, 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 2ae76efc696..e85b90750a5 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, struct pt_regs *regs) +static irqreturn_t snd_legacy_empty_irq_handler(int irq, void *dev_id)  {  	return IRQ_HANDLED;  } diff --git a/include/sound/mpu401.h b/include/sound/mpu401.h index ac504321ea5..8c88267e9be 100644 --- a/include/sound/mpu401.h +++ b/include/sound/mpu401.h @@ -106,10 +106,8 @@ struct snd_mpu401 {   */ -irqreturn_t snd_mpu401_uart_interrupt(int irq, void *dev_id, -				      struct pt_regs *regs); -irqreturn_t snd_mpu401_uart_interrupt_tx(int irq, void *dev_id, -					 struct pt_regs *regs); +irqreturn_t snd_mpu401_uart_interrupt(int irq, void *dev_id); +irqreturn_t snd_mpu401_uart_interrupt_tx(int irq, 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 431d06675e3..2dd5c8e5b4f 100644 --- a/include/sound/sb.h +++ b/include/sound/sb.h @@ -100,7 +100,7 @@ struct snd_sb {  	struct snd_rawmidi *rmidi;  	struct snd_rawmidi_substream *midi_substream_input;  	struct snd_rawmidi_substream *midi_substream_output; -	irqreturn_t (*rmidi_callback)(int irq, void *dev_id, struct pt_regs *regs); +	irq_handler_t rmidi_callback;  	spinlock_t reg_lock;  	spinlock_t open_lock; @@ -286,7 +286,7 @@ int snd_sbdsp_reset(struct snd_sb *chip);  int snd_sbdsp_create(struct snd_card *card,  		     unsigned long port,  		     int irq, -		     irqreturn_t (*irq_handler)(int, void *, struct pt_regs *), +		     irq_handler_t irq_handler,  		     int dma8, int dma16,  		     unsigned short hardware,  		     struct snd_sb **r_chip); @@ -316,7 +316,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, struct pt_regs *regs); +irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id);  /* exported mixer stuffs */  enum { diff --git a/include/sound/vx_core.h b/include/sound/vx_core.h index dbca1417061..21739465209 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, struct pt_regs *regs); +irqreturn_t snd_vx_irq_handler(int irq, void *dev);  /*   * lowlevel functions diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 53e9dce6c65..11c99697acf 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -249,7 +249,6 @@ static inline void mask_ack_irq(struct irq_desc *desc, int irq)   *	handle_simple_irq - Simple and software-decoded IRQs.   *	@irq:	the interrupt number   *	@desc:	the interrupt description structure for this irq - *	@regs:	pointer to a register structure   *   *	Simple interrupts are either sent from a demultiplexing interrupt   *	handler or come from hardware, where no interrupt hardware control @@ -259,7 +258,7 @@ static inline void mask_ack_irq(struct irq_desc *desc, int irq)   *	unmask issues if necessary.   */  void fastcall -handle_simple_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) +handle_simple_irq(unsigned int irq, struct irq_desc *desc)  {  	struct irqaction *action;  	irqreturn_t action_ret; @@ -279,9 +278,9 @@ handle_simple_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs)  	desc->status |= IRQ_INPROGRESS;  	spin_unlock(&desc->lock); -	action_ret = handle_IRQ_event(irq, regs, action); +	action_ret = handle_IRQ_event(irq, action);  	if (!noirqdebug) -		note_interrupt(irq, desc, action_ret, regs); +		note_interrupt(irq, desc, action_ret);  	spin_lock(&desc->lock);  	desc->status &= ~IRQ_INPROGRESS; @@ -293,7 +292,6 @@ out_unlock:   *	handle_level_irq - Level type irq handler   *	@irq:	the interrupt number   *	@desc:	the interrupt description structure for this irq - *	@regs:	pointer to a register structure   *   *	Level type interrupts are active as long as the hardware line has   *	the active level. This may require to mask the interrupt and unmask @@ -301,7 +299,7 @@ out_unlock:   *	interrupt line is back to inactive.   */  void fastcall -handle_level_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) +handle_level_irq(unsigned int irq, struct irq_desc *desc)  {  	unsigned int cpu = smp_processor_id();  	struct irqaction *action; @@ -329,9 +327,9 @@ handle_level_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs)  	desc->status &= ~IRQ_PENDING;  	spin_unlock(&desc->lock); -	action_ret = handle_IRQ_event(irq, regs, action); +	action_ret = handle_IRQ_event(irq, action);  	if (!noirqdebug) -		note_interrupt(irq, desc, action_ret, regs); +		note_interrupt(irq, desc, action_ret);  	spin_lock(&desc->lock);  	desc->status &= ~IRQ_INPROGRESS; @@ -345,7 +343,6 @@ out_unlock:   *	handle_fasteoi_irq - irq handler for transparent controllers   *	@irq:	the interrupt number   *	@desc:	the interrupt description structure for this irq - *	@regs:	pointer to a register structure   *   *	Only a single callback will be issued to the chip: an ->eoi()   *	call when the interrupt has been serviced. This enables support @@ -353,8 +350,7 @@ out_unlock:   *	details in hardware, transparently.   */  void fastcall -handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc, -		   struct pt_regs *regs) +handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc)  {  	unsigned int cpu = smp_processor_id();  	struct irqaction *action; @@ -382,9 +378,9 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc,  	desc->status &= ~IRQ_PENDING;  	spin_unlock(&desc->lock); -	action_ret = handle_IRQ_event(irq, regs, action); +	action_ret = handle_IRQ_event(irq, action);  	if (!noirqdebug) -		note_interrupt(irq, desc, action_ret, regs); +		note_interrupt(irq, desc, action_ret);  	spin_lock(&desc->lock);  	desc->status &= ~IRQ_INPROGRESS; @@ -398,7 +394,6 @@ out:   *	handle_edge_irq - edge type IRQ handler   *	@irq:	the interrupt number   *	@desc:	the interrupt description structure for this irq - *	@regs:	pointer to a register structure   *   *	Interrupt occures on the falling and/or rising edge of a hardware   *	signal. The occurence is latched into the irq controller hardware @@ -412,7 +407,7 @@ out:   *	loop is left.   */  void fastcall -handle_edge_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) +handle_edge_irq(unsigned int irq, struct irq_desc *desc)  {  	const unsigned int cpu = smp_processor_id(); @@ -463,9 +458,9 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs)  		desc->status &= ~IRQ_PENDING;  		spin_unlock(&desc->lock); -		action_ret = handle_IRQ_event(irq, regs, action); +		action_ret = handle_IRQ_event(irq, action);  		if (!noirqdebug) -			note_interrupt(irq, desc, action_ret, regs); +			note_interrupt(irq, desc, action_ret);  		spin_lock(&desc->lock);  	} while ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) == IRQ_PENDING); @@ -480,12 +475,11 @@ out_unlock:   *	handle_percpu_IRQ - Per CPU local irq handler   *	@irq:	the interrupt number   *	@desc:	the interrupt description structure for this irq - *	@regs:	pointer to a register structure   *   *	Per CPU interrupts on SMP machines without locking requirements   */  void fastcall -handle_percpu_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) +handle_percpu_irq(unsigned int irq, struct irq_desc *desc)  {  	irqreturn_t action_ret; @@ -494,9 +488,9 @@ handle_percpu_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs)  	if (desc->chip->ack)  		desc->chip->ack(irq); -	action_ret = handle_IRQ_event(irq, regs, desc->action); +	action_ret = handle_IRQ_event(irq, desc->action);  	if (!noirqdebug) -		note_interrupt(irq, desc, action_ret, regs); +		note_interrupt(irq, desc, action_ret);  	if (desc->chip->eoi)  		desc->chip->eoi(irq); diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 4c6cdbaed66..42aa6f1a3f0 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -27,7 +27,7 @@   * Handles spurious and unhandled IRQ's. It also prints a debugmessage.   */  void fastcall -handle_bad_irq(unsigned int irq, struct irq_desc *desc, struct pt_regs *regs) +handle_bad_irq(unsigned int irq, struct irq_desc *desc)  {  	print_irq_desc(irq, desc);  	kstat_this_cpu.irqs[irq]++; @@ -115,7 +115,7 @@ struct irq_chip dummy_irq_chip = {  /*   * Special, empty irq handler:   */ -irqreturn_t no_action(int cpl, void *dev_id, struct pt_regs *regs) +irqreturn_t no_action(int cpl, void *dev_id)  {  	return IRQ_NONE;  } @@ -123,13 +123,11 @@ irqreturn_t no_action(int cpl, void *dev_id, struct pt_regs *regs)  /**   * handle_IRQ_event - irq action chain handler   * @irq:	the interrupt number - * @regs:	pointer to a register structure   * @action:	the interrupt action chain for this irq   *   * Handles the action chain of an irq event   */ -irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs, -			     struct irqaction *action) +irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)  {  	irqreturn_t ret, retval = IRQ_NONE;  	unsigned int status = 0; @@ -140,7 +138,7 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,  		local_irq_enable_in_hardirq();  	do { -		ret = action->handler(irq, action->dev_id, regs); +		ret = action->handler(irq, action->dev_id);  		if (ret == IRQ_HANDLED)  			status |= action->flags;  		retval |= ret; @@ -158,7 +156,6 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,  /**   * __do_IRQ - original all in one highlevel IRQ handler   * @irq:	the interrupt number - * @regs:	pointer to a register structure   *   * __do_IRQ handles all normal device IRQ's (the special   * SMP cross-CPU interrupts have their own specific @@ -167,7 +164,7 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct pt_regs *regs,   * This is the original x86 implementation which is used for every   * interrupt type.   */ -fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs) +fastcall unsigned int __do_IRQ(unsigned int irq)  {  	struct irq_desc *desc = irq_desc + irq;  	struct irqaction *action; @@ -182,7 +179,7 @@ fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs)  		 */  		if (desc->chip->ack)  			desc->chip->ack(irq); -		action_ret = handle_IRQ_event(irq, regs, desc->action); +		action_ret = handle_IRQ_event(irq, desc->action);  		desc->chip->end(irq);  		return 1;  	} @@ -233,11 +230,11 @@ fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs)  		spin_unlock(&desc->lock); -		action_ret = handle_IRQ_event(irq, regs, action); +		action_ret = handle_IRQ_event(irq, action);  		spin_lock(&desc->lock);  		if (!noirqdebug) -			note_interrupt(irq, desc, action_ret, regs); +			note_interrupt(irq, desc, action_ret);  		if (likely(!(desc->status & IRQ_PENDING)))  			break;  		desc->status &= ~IRQ_PENDING; diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index 417e98092cf..543ea2e5ad9 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c @@ -16,7 +16,7 @@ static int irqfixup __read_mostly;  /*   * Recovery handler for misrouted interrupts.   */ -static int misrouted_irq(int irq, struct pt_regs *regs) +static int misrouted_irq(int irq)  {  	int i;  	int ok = 0; @@ -49,7 +49,7 @@ static int misrouted_irq(int irq, struct pt_regs *regs)  		while (action) {  			/* Only shared IRQ handlers are safe to call */  			if (action->flags & IRQF_SHARED) { -				if (action->handler(i, action->dev_id, regs) == +				if (action->handler(i, action->dev_id) ==  						IRQ_HANDLED)  					ok = 1;  			} @@ -70,7 +70,7 @@ static int misrouted_irq(int irq, struct pt_regs *regs)  			 */  			work = 1;  			spin_unlock(&desc->lock); -			handle_IRQ_event(i, regs, action); +			handle_IRQ_event(i, action);  			spin_lock(&desc->lock);  			desc->status &= ~IRQ_PENDING;  		} @@ -136,7 +136,7 @@ report_bad_irq(unsigned int irq, struct irq_desc *desc, irqreturn_t action_ret)  }  void note_interrupt(unsigned int irq, struct irq_desc *desc, -		    irqreturn_t action_ret, struct pt_regs *regs) +		    irqreturn_t action_ret)  {  	if (unlikely(action_ret != IRQ_HANDLED)) {  		desc->irqs_unhandled++; @@ -147,7 +147,7 @@ void note_interrupt(unsigned int irq, struct irq_desc *desc,  	if (unlikely(irqfixup)) {  		/* Don't punish working computers */  		if ((irqfixup == 2 && irq == 0) || action_ret == IRQ_NONE) { -			int ok = misrouted_irq(irq, regs); +			int ok = misrouted_irq(irq);  			if (action_ret == IRQ_NONE)  				desc->irqs_unhandled -= ok;  		} diff --git a/kernel/power/poweroff.c b/kernel/power/poweroff.c index 7a4144ba3af..f1f900ac316 100644 --- a/kernel/power/poweroff.c +++ b/kernel/power/poweroff.c @@ -23,8 +23,7 @@ static void do_poweroff(void *dummy)  static DECLARE_WORK(poweroff_work, do_poweroff, NULL); -static void handle_poweroff(int key, struct pt_regs *pt_regs, -				struct tty_struct *tty) +static void handle_poweroff(int key, struct tty_struct *tty)  {  	schedule_work(&poweroff_work);  } diff --git a/kernel/profile.c b/kernel/profile.c index fb660c7d35b..857300a2afe 100644 --- a/kernel/profile.c +++ b/kernel/profile.c @@ -25,6 +25,7 @@  #include <linux/mutex.h>  #include <asm/sections.h>  #include <asm/semaphore.h> +#include <asm/irq_regs.h>  struct profile_hit {  	u32 pc, hits; @@ -366,8 +367,10 @@ void profile_hit(int type, void *__pc)  }  #endif /* !CONFIG_SMP */ -void profile_tick(int type, struct pt_regs *regs) +void profile_tick(int type)  { +	struct pt_regs *regs = get_irq_regs(); +  	if (type == CPU_PROFILING && timer_hook)  		timer_hook(regs);  	if (!user_mode(regs) && cpu_isset(smp_processor_id(), prof_cpu_mask)) diff --git a/lib/Makefile b/lib/Makefile index b0361756e22..8e6662bb9c3 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -5,7 +5,7 @@  lib-y := ctype.o string.o vsprintf.o cmdline.o \  	 bust_spinlocks.o rbtree.o radix-tree.o dump_stack.o \  	 idr.o div64.o int_sqrt.o bitmap.o extable.o prio_tree.o \ -	 sha1.o +	 sha1.o irq_regs.o  lib-$(CONFIG_MMU) += ioremap.o  lib-$(CONFIG_SMP) += cpumask.o diff --git a/lib/irq_regs.c b/lib/irq_regs.c new file mode 100644 index 00000000000..101b1a4f9b1 --- /dev/null +++ b/lib/irq_regs.c @@ -0,0 +1,15 @@ +/* saved per-CPU IRQ register pointer + * + * Copyright (C) 2006 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#include <asm/irq_regs.h> + +#ifndef ARCH_HAS_OWN_IRQ_REGS +DEFINE_PER_CPU(struct pt_regs *, __irq_regs); +#endif diff --git a/sound/aoa/core/snd-aoa-gpio-feature.c b/sound/aoa/core/snd-aoa-gpio-feature.c index 7c26089527f..40eb47eccf9 100644 --- a/sound/aoa/core/snd-aoa-gpio-feature.c +++ b/sound/aoa/core/snd-aoa-gpio-feature.c @@ -283,9 +283,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, -					 struct pt_regs *regs) +static irqreturn_t ftr_handle_notify_irq(int xx, 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 23190aa6bc7..e593a1333fe 100644 --- a/sound/aoa/soundbus/i2sbus/i2sbus-core.c +++ b/sound/aoa/soundbus/i2sbus/i2sbus-core.c @@ -93,7 +93,7 @@ static void i2sbus_release_dev(struct device *dev)  	kfree(i2sdev);  } -static irqreturn_t i2sbus_bus_intr(int irq, void *devid, struct pt_regs *regs) +static irqreturn_t i2sbus_bus_intr(int irq, void *devid)  {  	struct i2sbus_dev *dev = devid;  	u32 intreg; @@ -165,8 +165,7 @@ static int i2sbus_add_dev(struct macio_dev *macio,  	static const char *rnames[] = { "i2sbus: %s (control)",  					"i2sbus: %s (tx)",  					"i2sbus: %s (rx)" }; -	static irqreturn_t (*ints[])(int irq, void *devid, -				     struct pt_regs *regs) = { +	static irq_handler_t ints[] = {  		i2sbus_bus_intr,  		i2sbus_tx_intr,  		i2sbus_rx_intr diff --git a/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c b/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c index 3049015a04f..5eff30b1020 100644 --- a/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c +++ b/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c @@ -642,13 +642,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, struct pt_regs *regs) +irqreturn_t i2sbus_tx_intr(int irq, void *devid)  {  	handle_interrupt((struct i2sbus_dev *)devid, 0);  	return IRQ_HANDLED;  } -irqreturn_t i2sbus_rx_intr(int irq, void *devid, struct pt_regs * regs) +irqreturn_t i2sbus_rx_intr(int irq, 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 0c69d209be5..ec20ee615d7 100644 --- a/sound/aoa/soundbus/i2sbus/i2sbus.h +++ b/sound/aoa/soundbus/i2sbus/i2sbus.h @@ -97,9 +97,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, struct pt_regs *regs); +i2sbus_tx_intr(int irq, void *devid);  extern irqreturn_t -i2sbus_rx_intr(int irq, void *devid, struct pt_regs *regs); +i2sbus_rx_intr(int irq, void *devid);  /* control specific functions */  extern int i2sbus_control_init(struct macio_dev* dev, diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index 8435fdd1c87..53675cf4de4 100644 --- a/sound/arm/aaci.c +++ b/sound/arm/aaci.c @@ -221,7 +221,7 @@ static void aaci_fifo_irq(struct aaci *aaci, u32 mask)  	}  } -static irqreturn_t aaci_irq(int irq, void *devid, struct pt_regs *regs) +static irqreturn_t aaci_irq(int irq, void *devid)  {  	struct aaci *aaci = devid;  	u32 mask; diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c index 599aff8290e..dede954b2c6 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, struct pt_regs *regs) +static irqreturn_t pxa2xx_ac97_irq(int irq, void *dev_id)  {  	long status; diff --git a/sound/arm/pxa2xx-pcm.c b/sound/arm/pxa2xx-pcm.c index 4938ef10b81..e8cf904b835 100644 --- a/sound/arm/pxa2xx-pcm.c +++ b/sound/arm/pxa2xx-pcm.c @@ -137,7 +137,7 @@ static int pxa2xx_pcm_trigger(struct snd_pcm_substream *substream, int cmd)  	return ret;  } -static void pxa2xx_pcm_dma_irq(int dma_ch, void *dev_id, struct pt_regs *regs) +static void pxa2xx_pcm_dma_irq(int dma_ch, void *dev_id)  {  	struct snd_pcm_substream *substream = dev_id;  	struct pxa2xx_runtime_data *rtd = substream->runtime->private_data; diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c index 4bf07ca9b17..3daa9fa56c0 100644 --- a/sound/drivers/mpu401/mpu401_uart.c +++ b/sound/drivers/mpu401/mpu401_uart.c @@ -125,12 +125,10 @@ static void _snd_mpu401_uart_interrupt(struct snd_mpu401 *mpu)   * snd_mpu401_uart_interrupt - generic MPU401-UART interrupt handler   * @irq: the irq number   * @dev_id: mpu401 instance - * @regs: the reigster   *   * Processes the interrupt for MPU401-UART i/o.   */ -irqreturn_t snd_mpu401_uart_interrupt(int irq, void *dev_id, -				      struct pt_regs *regs) +irqreturn_t snd_mpu401_uart_interrupt(int irq, void *dev_id)  {  	struct snd_mpu401 *mpu = dev_id; @@ -146,12 +144,10 @@ EXPORT_SYMBOL(snd_mpu401_uart_interrupt);   * snd_mpu401_uart_interrupt_tx - generic MPU401-UART transmit irq handler   * @irq: the irq number   * @dev_id: mpu401 instance - * @regs: the reigster   *   * Processes the interrupt for MPU401-UART output.   */ -irqreturn_t snd_mpu401_uart_interrupt_tx(int irq, void *dev_id, -					 struct pt_regs *regs) +irqreturn_t snd_mpu401_uart_interrupt_tx(int irq, void *dev_id)  {  	struct snd_mpu401 *mpu = dev_id; diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c index e064d6c5685..a9ff391258e 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, struct pt_regs *regs) +static irqreturn_t snd_mtpav_irqh(int irq, void *dev_id)  {  	struct mtpav *mcard = dev_id; diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c index ab8d4effcf9..5327c6f841f 100644 --- a/sound/drivers/mts64.c +++ b/sound/drivers/mts64.c @@ -838,7 +838,7 @@ static int __devinit snd_mts64_rawmidi_create(struct snd_card *card)  /*********************************************************************   * parport stuff   *********************************************************************/ -static void snd_mts64_interrupt(int irq, void *private, struct pt_regs *r) +static void snd_mts64_interrupt(int irq, void *private)  {  	struct mts64 *mts = ((struct snd_card*)private)->private_data;  	u16 ret; diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index 52afb4bd207..74028b2219c 100644 --- a/sound/drivers/serial-u16550.c +++ b/sound/drivers/serial-u16550.c @@ -292,7 +292,7 @@ static void snd_uart16550_io_loop(snd_uart16550_t * 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, struct pt_regs *regs) +static irqreturn_t snd_uart16550_interrupt(int irq, void *dev_id)  {  	snd_uart16550_t *uart; diff --git a/sound/drivers/vx/vx_core.c b/sound/drivers/vx/vx_core.c index a60168268dd..ed19bc17400 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, struct pt_regs *regs) +irqreturn_t snd_vx_irq_handler(int irq, void *dev)  {  	struct vx_core *chip = dev; diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c index fd9b61eda0f..b524e0d9ee4 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, struct pt_regs *regs) +static irqreturn_t snd_ad1816a_interrupt(int irq, 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 a6fbd5d1d62..666b3bcc19f 100644 --- a/sound/isa/ad1848/ad1848_lib.c +++ b/sound/isa/ad1848/ad1848_lib.c @@ -583,7 +583,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, struct pt_regs *regs) +static irqreturn_t snd_ad1848_interrupt(int irq, 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 fbb20176cca..75c7c5f0198 100644 --- a/sound/isa/cs423x/cs4231_lib.c +++ b/sound/isa/cs423x/cs4231_lib.c @@ -920,7 +920,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, struct pt_regs *regs) +irqreturn_t snd_cs4231_interrupt(int irq, 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 7e985d3bc51..a2ab99f2ac3 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, struct pt_regs *regs) +static irqreturn_t snd_es1688_interrupt(int irq, void *dev_id)  {  	struct snd_es1688 *chip = dev_id; diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index 85818200333..2398d2c55fe 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, struct pt_regs *regs) +static irqreturn_t snd_es18xx_interrupt(int irq, 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, struct pt_regs *r  	/* MPU */  	if ((status & MPU_IRQ) && chip->rmidi) -		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); +		snd_mpu401_uart_interrupt(irq, 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 42db37552ef..537d3cfe41f 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, struct pt_regs *regs) +irqreturn_t snd_gus_interrupt(int irq, 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 ac11cae8589..52498c9d411 100644 --- a/sound/isa/gus/gusmax.c +++ b/sound/isa/gus/gusmax.c @@ -105,7 +105,7 @@ static int __init snd_gusmax_detect(struct snd_gus_card * gus)  	return 0;  } -static irqreturn_t snd_gusmax_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_gusmax_interrupt(int irq, void *dev_id)  {  	struct snd_gusmax *maxcard = (struct snd_gusmax *) dev_id;  	int loop, max = 5; @@ -115,12 +115,12 @@ static irqreturn_t snd_gusmax_interrupt(int irq, void *dev_id, struct pt_regs *r  		loop = 0;  		if (inb(maxcard->gus_status_reg)) {  			handled = 1; -			snd_gus_interrupt(irq, maxcard->gus, regs); +			snd_gus_interrupt(irq, maxcard->gus);  			loop++;  		}  		if (inb(maxcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */  			handled = 1; -			snd_cs4231_interrupt(irq, maxcard->cs4231, regs); +			snd_cs4231_interrupt(irq, maxcard->cs4231);  			loop++;  		}  	} while (loop && --max > 0); diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c index ea69f25506f..5c474b831ed 100644 --- a/sound/isa/gus/interwave.c +++ b/sound/isa/gus/interwave.c @@ -299,7 +299,7 @@ static int __devinit snd_interwave_detect(struct snd_interwave *iwcard,  	return -ENODEV;  } -static irqreturn_t snd_interwave_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_interwave_interrupt(int irq, void *dev_id)  {  	struct snd_interwave *iwcard = (struct snd_interwave *) dev_id;  	int loop, max = 5; @@ -309,12 +309,12 @@ static irqreturn_t snd_interwave_interrupt(int irq, void *dev_id, struct pt_regs  		loop = 0;  		if (inb(iwcard->gus_status_reg)) {  			handled = 1; -			snd_gus_interrupt(irq, iwcard->gus, regs); +			snd_gus_interrupt(irq, iwcard->gus);  			loop++;  		}  		if (inb(iwcard->pcm_status_reg) & 0x01) {	/* IRQ bit is set? */  			handled = 1; -			snd_cs4231_interrupt(irq, iwcard->cs4231, regs); +			snd_cs4231_interrupt(irq, iwcard->cs4231);  			loop++;  		}  	} while (loop && --max > 0); diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c index da92bf6c392..419b4ebbf00 100644 --- a/sound/isa/opl3sa2.c +++ b/sound/isa/opl3sa2.c @@ -294,7 +294,7 @@ static int __devinit snd_opl3sa2_detect(struct snd_opl3sa2 *chip)  	return 0;  } -static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id)  {  	unsigned short status;  	struct snd_opl3sa2 *chip = dev_id; @@ -312,12 +312,12 @@ static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id, struct pt_regs *  	if ((status & 0x10) && chip->rmidi != NULL) {  		handled = 1; -		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); +		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);  	}  	if (status & 0x07) {	/* TI,CI,PI */  		handled = 1; -		snd_cs4231_interrupt(irq, chip->cs4231, regs); +		snd_cs4231_interrupt(irq, 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 9d528ae00bf..a1ad39a8cdc 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c @@ -1090,7 +1090,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, struct pt_regs *regs) +static irqreturn_t snd_opti93x_interrupt(int irq, 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 d4d65b84265..d4b218726ce 100644 --- a/sound/isa/sb/es968.c +++ b/sound/isa/sb/es968.c @@ -70,8 +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, -					    struct pt_regs *regs) +static irqreturn_t snd_card_es968_interrupt(int irq, 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 f183f1845a3..383911b9e74 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, struct pt_regs *regs) +irqreturn_t snd_sb16dsp_interrupt(int irq, 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, struct pt_regs *regs)  	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, regs); +		chip->rmidi_callback(irq, 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 141400c0142..268ebd34703 100644 --- a/sound/isa/sb/sb8.c +++ b/sound/isa/sb/sb8.c @@ -63,7 +63,7 @@ struct snd_sb8 {  	struct snd_sb *chip;  }; -static irqreturn_t snd_sb8_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_sb8_interrupt(int irq, void *dev_id)  {  	struct snd_sb *chip = dev_id; diff --git a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c index f17de2bdd9e..c62a9e3d2ae 100644 --- a/sound/isa/sb/sb_common.c +++ b/sound/isa/sb/sb_common.c @@ -205,7 +205,7 @@ static int snd_sbdsp_dev_free(struct snd_device *device)  int snd_sbdsp_create(struct snd_card *card,  		     unsigned long port,  		     int irq, -		     irqreturn_t (*irq_handler)(int, void *, struct pt_regs *), +		     irq_handler_t irq_handler,  		     int dma8,  		     int dma16,  		     unsigned short hardware, diff --git a/sound/isa/sgalaxy.c b/sound/isa/sgalaxy.c index 8742fa51749..4fcd0f4e868 100644 --- a/sound/isa/sgalaxy.c +++ b/sound/isa/sgalaxy.c @@ -109,7 +109,7 @@ static int __init snd_sgalaxy_sbdsp_command(unsigned long port, unsigned char va  	return 0;  } -static irqreturn_t snd_sgalaxy_dummy_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_sgalaxy_dummy_interrupt(int irq, void *dev_id)  {  	return IRQ_NONE;  } diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c index a8f8d2fa9d7..85db535aea9 100644 --- a/sound/isa/wavefront/wavefront.c +++ b/sound/isa/wavefront/wavefront.c @@ -263,9 +263,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,  -					    struct pt_regs *regs) +static irqreturn_t snd_wavefront_ics2115_interrupt(int irq, void *dev_id)  {  	snd_wavefront_card_t *acard; diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c index ff6e6fc198a..8a61a119186 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, struct pt_regs *regs) +au1000_dma_interrupt(int irq, void *dev_id)  {  	struct audio_stream *stream = (struct audio_stream *) dev_id;  	struct snd_pcm_substream *substream = stream->substream; diff --git a/sound/oss/ad1816.c b/sound/oss/ad1816.c index 29057836c64..caabf31193f 100644 --- a/sound/oss/ad1816.c +++ b/sound/oss/ad1816.c @@ -521,7 +521,7 @@ static struct audio_driver ad1816_audio_driver =  /* Interrupt handler */ -static irqreturn_t ad1816_interrupt (int irq, void *dev_id, struct pt_regs *dummy) +static irqreturn_t ad1816_interrupt (int irq, void *dev_id)  {  	unsigned char	status;  	ad1816_info	*devc = (ad1816_info *)dev_id; diff --git a/sound/oss/ad1848.c b/sound/oss/ad1848.c index 257b7536fb1..0ffa9970bf0 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, struct pt_regs *dummy); +static irqreturn_t adintr(int irq, 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, struct pt_regs *dummy) +static irqreturn_t adintr(int irq, void *dev_id)  {  	unsigned char status;  	ad1848_info *devc; diff --git a/sound/oss/ad1889.c b/sound/oss/ad1889.c index f56f870b484..09263d72a51 100644 --- a/sound/oss/ad1889.c +++ b/sound/oss/ad1889.c @@ -929,7 +929,7 @@ static struct pci_device_id ad1889_id_tbl[] = {  };  MODULE_DEVICE_TABLE(pci, ad1889_id_tbl); -static irqreturn_t ad1889_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t ad1889_interrupt(int irq, void *dev_id)  {  	u32 stat;  	ad1889_dev_t *dev = (ad1889_dev_t *)dev_id; diff --git a/sound/oss/btaudio.c b/sound/oss/btaudio.c index 324a81fd3a3..6ad38411423 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, struct pt_regs * regs) +static irqreturn_t btaudio_irq(int irq, void *dev_id)  {  	int count = 0;  	u32 stat,astat; diff --git a/sound/oss/cs46xx.c b/sound/oss/cs46xx.c index 43193581f83..6e3c41f530e 100644 --- a/sound/oss/cs46xx.c +++ b/sound/oss/cs46xx.c @@ -1613,7 +1613,7 @@ static void cs_handle_midi(struct cs_card *card)                  wake_up(&card->midi.owait);  } -static irqreturn_t cs_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t cs_interrupt(int irq, void *dev_id)  {  	struct cs_card *card = (struct cs_card *)dev_id;  	/* Single channel card */ diff --git a/sound/oss/dmasound/dmasound_atari.c b/sound/oss/dmasound/dmasound_atari.c index dc31373069a..285239d64b8 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, struct pt_regs *fp); +static irqreturn_t AtaInterrupt(int irq, void *dummy);  /*** Mid level stuff *********************************************************/ @@ -1257,7 +1257,7 @@ static void AtaPlay(void)  } -static irqreturn_t AtaInterrupt(int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t AtaInterrupt(int irq, void *dummy)  {  #if 0  	/* ++TeSche: if you should want to test this... */ diff --git a/sound/oss/dmasound/dmasound_awacs.c b/sound/oss/dmasound/dmasound_awacs.c index 9ae659f8243..3bd19c36fcd 100644 --- a/sound/oss/dmasound/dmasound_awacs.c +++ b/sound/oss/dmasound/dmasound_awacs.c @@ -281,9 +281,9 @@ static int PMacSetFormat(int format);  static int PMacSetVolume(int volume);  static void PMacPlay(void);  static void PMacRecord(void); -static irqreturn_t pmac_awacs_tx_intr(int irq, void *devid, struct pt_regs *regs); -static irqreturn_t pmac_awacs_rx_intr(int irq, void *devid, struct pt_regs *regs); -static irqreturn_t pmac_awacs_intr(int irq, void *devid, struct pt_regs *regs); +static irqreturn_t pmac_awacs_tx_intr(int irq, void *devid); +static irqreturn_t pmac_awacs_rx_intr(int irq, void *devid); +static irqreturn_t pmac_awacs_intr(int irq, void *devid);  static void awacs_write(int val);  static int awacs_get_volume(int reg, int lshift);  static int awacs_volume_setter(int volume, int n, int mute, int lshift); @@ -398,7 +398,7 @@ read_audio_gpio(int gpio_addr)   * Headphone interrupt via GPIO (Tumbler, Snapper, DACA)   */  static irqreturn_t -headphone_intr(int irq, void *devid, struct pt_regs *regs) +headphone_intr(int irq, void *devid)  {  	unsigned long flags; @@ -1037,7 +1037,7 @@ static void PMacRecord(void)  */  static irqreturn_t -pmac_awacs_tx_intr(int irq, void *devid, struct pt_regs *regs) +pmac_awacs_tx_intr(int irq, void *devid)  {  	int i = write_sq.front;  	int stat; @@ -1129,7 +1129,7 @@ printk("dmasound_pmac: tx-irq: xfer died - patching it up...\n") ;  static irqreturn_t -pmac_awacs_rx_intr(int irq, void *devid, struct pt_regs *regs) +pmac_awacs_rx_intr(int irq, void *devid)  {  	int stat ;  	/* For some reason on my PowerBook G3, I get one interrupt @@ -1212,7 +1212,7 @@ printk("dmasound_pmac: rx-irq: DIED - attempting resurection\n");  static irqreturn_t -pmac_awacs_intr(int irq, void *devid, struct pt_regs *regs) +pmac_awacs_intr(int irq, void *devid)  {  	int ctrl;  	int status; diff --git a/sound/oss/dmasound/dmasound_paula.c b/sound/oss/dmasound/dmasound_paula.c index 68e1d8f6c35..90fc058e115 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, struct pt_regs *fp); +static irqreturn_t AmiInterrupt(int irq, void *dummy);  #ifdef CONFIG_HEARTBEAT @@ -556,7 +556,7 @@ static void AmiPlay(void)  } -static irqreturn_t AmiInterrupt(int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t AmiInterrupt(int irq, void *dummy)  {  	int minframes = 1; diff --git a/sound/oss/dmasound/dmasound_q40.c b/sound/oss/dmasound/dmasound_q40.c index e2081f32b0c..b3379dd7ca5 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, struct pt_regs *fp); -static irqreturn_t Q40MonoInterrupt(int irq, void *dummy, struct pt_regs *fp); +static irqreturn_t Q40StereoInterrupt(int irq, void *dummy); +static irqreturn_t Q40MonoInterrupt(int irq, 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, struct pt_regs *fp) +static irqreturn_t Q40StereoInterrupt(int irq, void *dummy)  {  	spin_lock(&dmasound.lock);          if (q40_sc>1){ @@ -463,7 +463,7 @@ static irqreturn_t Q40StereoInterrupt(int irq, void *dummy, struct pt_regs *fp)  	spin_unlock(&dmasound.lock);  	return IRQ_HANDLED;  } -static irqreturn_t Q40MonoInterrupt(int irq, void *dummy, struct pt_regs *fp) +static irqreturn_t Q40MonoInterrupt(int irq, void *dummy)  {  	spin_lock(&dmasound.lock);          if (q40_sc>0){ diff --git a/sound/oss/emu10k1/irqmgr.c b/sound/oss/emu10k1/irqmgr.c index d19b464ba01..fb2ce638f01 100644 --- a/sound/oss/emu10k1/irqmgr.c +++ b/sound/oss/emu10k1/irqmgr.c @@ -37,7 +37,7 @@  /* Interrupt handler */ -irqreturn_t emu10k1_interrupt(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t emu10k1_interrupt(int irq, void *dev_id)  {  	struct emu10k1_card *card = (struct emu10k1_card *) dev_id;  	u32 irqstatus, irqstatus_tmp; diff --git a/sound/oss/emu10k1/main.c b/sound/oss/emu10k1/main.c index c4ce94d6e10..6c59df7b000 100644 --- a/sound/oss/emu10k1/main.c +++ b/sound/oss/emu10k1/main.c @@ -167,7 +167,7 @@ extern struct file_operations emu10k1_midi_fops;  static struct midi_operations emu10k1_midi_operations;  #endif -extern irqreturn_t emu10k1_interrupt(int, void *, struct pt_regs *s); +extern irqreturn_t emu10k1_interrupt(int, void *);  static int __devinit emu10k1_audio_init(struct emu10k1_card *card)  { diff --git a/sound/oss/es1371.c b/sound/oss/es1371.c index a2ffe723dad..2562f4769b9 100644 --- a/sound/oss/es1371.c +++ b/sound/oss/es1371.c @@ -1100,7 +1100,7 @@ static void es1371_handle_midi(struct es1371_state *s)  	outb((s->midi.ocnt > 0) ? UCTRL_RXINTEN | UCTRL_ENA_TXINT : UCTRL_RXINTEN, s->io+ES1371_REG_UART_CONTROL);  } -static irqreturn_t es1371_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t es1371_interrupt(int irq, void *dev_id)  {          struct es1371_state *s = (struct es1371_state *)dev_id;  	unsigned int intsrc, sctl; diff --git a/sound/oss/hal2.c b/sound/oss/hal2.c index 80ab402dae9..7807abac062 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, struct pt_regs *regs) +static irqreturn_t hal2_interrupt(int irq, void *dev_id)  {  	struct hal2_card *hal2 = (struct hal2_card*)dev_id;  	irqreturn_t ret = IRQ_NONE; diff --git a/sound/oss/i810_audio.c b/sound/oss/i810_audio.c index ddcddc2347f..a48af879b46 100644 --- a/sound/oss/i810_audio.c +++ b/sound/oss/i810_audio.c @@ -1523,7 +1523,7 @@ static void i810_channel_interrupt(struct i810_card *card)  #endif  } -static irqreturn_t i810_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t i810_interrupt(int irq, void *dev_id)  {  	struct i810_card *card = (struct i810_card *)dev_id;  	u32 status; diff --git a/sound/oss/mpu401.c b/sound/oss/mpu401.c index 162d07cc489..58d4a5d05a2 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, struct pt_regs *dummy) +static irqreturn_t mpuintr(int irq, void *dev_id)  {  	struct mpu_config *devc;  	int dev = (int) dev_id; diff --git a/sound/oss/mpu401.h b/sound/oss/mpu401.h index 84c0e9522ef..0ad1e9ee74f 100644 --- a/sound/oss/mpu401.h +++ b/sound/oss/mpu401.h @@ -3,10 +3,9 @@  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, struct pt_regs * dummy); +irqreturn_t uart401intr (int irq, void *dev_id);  /*	From mpu401.c */  int probe_mpu401(struct address_info *hw_config, struct resource *ports);  int attach_mpu401(struct address_info * hw_config, struct module *owner);  void unload_mpu401(struct address_info *hw_info); - diff --git a/sound/oss/msnd_pinnacle.c b/sound/oss/msnd_pinnacle.c index 6d7763dae89..d5146790f5e 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, struct pt_regs *regs) +static irqreturn_t intr(int irq, void *dev_id)  {  	/* Send ack to DSP */  	msnd_inb(dev.io + HP_RXL); diff --git a/sound/oss/nec_vrc5477.c b/sound/oss/nec_vrc5477.c index 6f7f2f0423e..da9728e1772 100644 --- a/sound/oss/nec_vrc5477.c +++ b/sound/oss/nec_vrc5477.c @@ -848,7 +848,7 @@ static inline void vrc5477_ac97_dac_interrupt(struct vrc5477_ac97_state *s)  		wake_up_interruptible(&dac->wait);  } -static irqreturn_t vrc5477_ac97_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t vrc5477_ac97_interrupt(int irq, void *dev_id)  {  	struct vrc5477_ac97_state *s = (struct vrc5477_ac97_state *)dev_id;  	u32 irqStatus; diff --git a/sound/oss/nm256.h b/sound/oss/nm256.h index 21e07b5081f..1dade903399 100644 --- a/sound/oss/nm256.h +++ b/sound/oss/nm256.h @@ -115,7 +115,7 @@ struct nm256_info      int has_irq;      /* The card interrupt service routine. */ -    irqreturn_t (*introutine) (int, void *, struct pt_regs *); +    irq_handler_t introutine;      /* Current audio config, cached. */      struct sinfo { diff --git a/sound/oss/nm256_audio.c b/sound/oss/nm256_audio.c index 7760dddf2b3..44cd1550500 100644 --- a/sound/oss/nm256_audio.c +++ b/sound/oss/nm256_audio.c @@ -45,8 +45,8 @@ static struct audio_driver nm256_audio_driver;  static int nm256_grabInterrupt (struct nm256_info *card);  static int nm256_releaseInterrupt (struct nm256_info *card); -static irqreturn_t nm256_interrupt (int irq, void *dev_id, struct pt_regs *dummy); -static irqreturn_t nm256_interrupt_zx (int irq, void *dev_id, struct pt_regs *dummy); +static irqreturn_t nm256_interrupt (int irq, void *dev_id); +static irqreturn_t nm256_interrupt_zx (int irq, void *dev_id);  /* These belong in linux/pci.h. */  #define PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO 0x8005 @@ -526,7 +526,7 @@ nm256_initHw (struct nm256_info *card)   */  static irqreturn_t -nm256_interrupt (int irq, void *dev_id, struct pt_regs *dummy) +nm256_interrupt (int irq, void *dev_id)  {      struct nm256_info *card = (struct nm256_info *)dev_id;      u16 status; @@ -629,7 +629,7 @@ nm256_interrupt (int irq, void *dev_id, struct pt_regs *dummy)   */  static irqreturn_t -nm256_interrupt_zx (int irq, void *dev_id, struct pt_regs *dummy) +nm256_interrupt_zx (int irq, void *dev_id)  {      struct nm256_info *card = (struct nm256_info *)dev_id;      u32 status; diff --git a/sound/oss/pas2_card.c b/sound/oss/pas2_card.c index 4ebb9638746..25f3a22c52e 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, struct pt_regs *dummy) +static irqreturn_t pasintr(int irq, void *dev_id)  {  	int             status; diff --git a/sound/oss/sb_common.c b/sound/oss/sb_common.c index bbe5b7596d0..440537c7260 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, NULL); +				uart401intr(devc->irq, 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, struct pt_regs *dummy) +static irqreturn_t sbintr(int irq, 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 83ff8a71f71..3b3b4da8cfd 100644 --- a/sound/oss/sh_dac_audio.c +++ b/sound/oss/sh_dac_audio.c @@ -263,7 +263,7 @@ struct file_operations dac_audio_fops = {        .release =	dac_audio_release,  }; -static irqreturn_t timer1_interrupt(int irq, void *dev, struct pt_regs *regs) +static irqreturn_t timer1_interrupt(int irq, void *dev)  {  	unsigned long timer_status; diff --git a/sound/oss/swarm_cs4297a.c b/sound/oss/swarm_cs4297a.c index 3edf8d4ac99..471c274c500 100644 --- a/sound/oss/swarm_cs4297a.c +++ b/sound/oss/swarm_cs4297a.c @@ -2505,7 +2505,7 @@ static /*const */ struct file_operations cs4297a_audio_fops = {  	.release	= cs4297a_release,  }; -static void cs4297a_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static void cs4297a_interrupt(int irq, 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 147c816a1f2..7a363a178af 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, struct pt_regs *regs) +trident_interrupt(int irq, 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 8e18b6e2581..a446b826d5f 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, struct pt_regs *dummy) +irqreturn_t uart401intr(int irq, void *dev_id)  {  	uart401_devc *devc = dev_id; diff --git a/sound/oss/uart6850.c b/sound/oss/uart6850.c index 501d3e654a6..f3f914aa92e 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, struct pt_regs *dummy) +static irqreturn_t m6850intr(int irq, void *dev_id)  {  	if (input_avail())  		uart6850_input_loop(); diff --git a/sound/oss/via82cxxx_audio.c b/sound/oss/via82cxxx_audio.c index 2fec42fc348..17837d4b5ed 100644 --- a/sound/oss/via82cxxx_audio.c +++ b/sound/oss/via82cxxx_audio.c @@ -1912,7 +1912,7 @@ static void via_intr_channel (struct via_info *card, struct via_channel *chan)  } -static irqreturn_t  via_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t  via_interrupt(int irq, void *dev_id)  {  	struct via_info *card = dev_id;  	u32 status32; @@ -1927,7 +1927,7 @@ static irqreturn_t  via_interrupt(int irq, void *dev_id, struct pt_regs *regs)          {  #ifdef CONFIG_MIDI_VIA82CXXX  	    	 if (card->midi_devc) -                    	uart401intr(irq, card->midi_devc, regs); +                    	uart401intr(irq, card->midi_devc);  #endif  		return IRQ_HANDLED;      	} @@ -1950,7 +1950,7 @@ static irqreturn_t  via_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	return IRQ_HANDLED;  } -static irqreturn_t via_new_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t via_new_interrupt(int irq, void *dev_id)  {  	struct via_info *card = dev_id;  	u32 status32; diff --git a/sound/oss/vidc.h b/sound/oss/vidc.h index d5b8064dc56..0d1424751ec 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, struct pt_regs *regs); +extern irqreturn_t vidc_sound_dma_irq(int irqnr, void *ref);  /*   * Filler routine pointer diff --git a/sound/oss/vwsnd.c b/sound/oss/vwsnd.c index 5f140c7586b..0cd4d6ec986 100644 --- a/sound/oss/vwsnd.c +++ b/sound/oss/vwsnd.c @@ -2233,12 +2233,12 @@ 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, struct pt_regs *regs) +static irqreturn_t vwsnd_audio_intr(int irq, void *dev_id)  {  	vwsnd_dev_t *devc = (vwsnd_dev_t *) dev_id;  	unsigned int status; -	DBGEV("(irq=%d, dev_id=0x%p, regs=0x%p)\n", irq, dev_id, regs); +	DBGEV("(irq=%d, dev_id=0x%p)\n", irq, dev_id);  	status = li_get_clear_intr_status(&devc->lith);  	vwsnd_audio_read_intr(devc, status); diff --git a/sound/oss/waveartist.c b/sound/oss/waveartist.c index 59a2f28eb5a..c5bf363d32c 100644 --- a/sound/oss/waveartist.c +++ b/sound/oss/waveartist.c @@ -833,7 +833,7 @@ static struct audio_driver waveartist_audio_driver = {  static irqreturn_t -waveartist_intr(int irq, void *dev_id, struct pt_regs *regs) +waveartist_intr(int irq, void *dev_id)  {  	wavnc_info *devc = (wavnc_info *)dev_id;  	int	   irqstatus, status; diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c index ce73f3eae78..cf603337b32 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, struct pt_regs *regs) +snd_harmony_interrupt(int irq, void *dev)  {  	u32 dstatus;  	struct snd_harmony *h = dev; diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c index 0786d0edaca..cbf8331c3d3 100644 --- a/sound/pci/ad1889.c +++ b/sound/pci/ad1889.c @@ -596,9 +596,7 @@ static struct snd_pcm_ops snd_ad1889_capture_ops = {  };  static irqreturn_t -snd_ad1889_interrupt(int irq,  -		     void *dev_id,  -		     struct pt_regs *regs) +snd_ad1889_interrupt(int irq, 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 74668398eac..13a8cefa774 100644 --- a/sound/pci/ali5451/ali5451.c +++ b/sound/pci/ali5451/ali5451.c @@ -1047,9 +1047,7 @@ static void snd_ali_interrupt(struct snd_ali * codec)  } -static irqreturn_t snd_ali_card_interrupt(int irq, -				   void *dev_id, -				   struct pt_regs *regs) +static irqreturn_t snd_ali_card_interrupt(int irq, void *dev_id)  {  	struct snd_ali 	*codec = dev_id; diff --git a/sound/pci/als300.c b/sound/pci/als300.c index 96cfb8ae505..9b16c299f0a 100644 --- a/sound/pci/als300.c +++ b/sound/pci/als300.c @@ -204,8 +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, -						struct pt_regs *regs) +static irqreturn_t snd_als300_interrupt(int irq, void *dev_id)  {  	u8 status;  	struct snd_als300 *chip = dev_id; @@ -236,8 +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, -						struct pt_regs *regs) +static irqreturn_t snd_als300plus_interrupt(int irq, 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 9e596f750cb..15fc3929b5f 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, struct pt_regs *regs) +static irqreturn_t snd_als4000_interrupt(int irq, 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, struct pt_regs *  	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, regs); +		snd_mpu401_uart_interrupt(irq, 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 347e25ff073..3e8fc5a0006 100644 --- a/sound/pci/atiixp.c +++ b/sound/pci/atiixp.c @@ -1300,7 +1300,7 @@ static int __devinit snd_atiixp_pcm_new(struct atiixp *chip)  /*   * interrupt handler   */ -static irqreturn_t snd_atiixp_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_atiixp_interrupt(int irq, 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 a89d67c4598..c5dda1bf3d4 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, struct pt_regs *regs) +static irqreturn_t snd_atiixp_interrupt(int irq, 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 b1cfc3c79d0..5ccf0b1ec67 100644 --- a/sound/pci/au88x0/au88x0.h +++ b/sound/pci/au88x0/au88x0.h @@ -236,8 +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, -				    struct pt_regs *regs); +static irqreturn_t vortex_interrupt(int irq, 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 5299cce583d..4a336eaae9d 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, struct pt_regs *regs) +static irqreturn_t vortex_interrupt(int irq, void *dev_id)  {  	vortex_t *vortex = dev_id;  	int i, handled; @@ -2462,7 +2462,7 @@ static irqreturn_t vortex_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	}  	if (source & IRQ_MIDI) {  		snd_mpu401_uart_interrupt(vortex->irq, -					  vortex->rmidi->private_data, regs); +					  vortex->rmidi->private_data);  		handled = 1;  	} diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index bac8e9cfd92..692f203d65d 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c @@ -1191,7 +1191,7 @@ snd_azf3328_capture_pointer(struct snd_pcm_substream *substream)  }  static irqreturn_t -snd_azf3328_interrupt(int irq, void *dev_id, struct pt_regs *regs) +snd_azf3328_interrupt(int irq, void *dev_id)  {  	struct snd_azf3328 *chip = dev_id;  	u8 status, which; @@ -1256,7 +1256,7 @@ snd_azf3328_interrupt(int irq, void *dev_id, struct pt_regs *regs)  	/* 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, regs); +		snd_mpu401_uart_interrupt(irq, 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 97a280a246c..d33a37086df 100644 --- a/sound/pci/bt87x.c +++ b/sound/pci/bt87x.c @@ -269,7 +269,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, struct pt_regs *regs) +static irqreturn_t snd_bt87x_interrupt(int irq, 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 12bbbb6afd2..6fa4a302f7d 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c @@ -1058,8 +1058,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, -					  struct pt_regs *regs) +static irqreturn_t snd_ca0106_interrupt(int irq, void *dev_id)  {  	unsigned int status; diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index 876b64464b6..1f7e7108306 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c @@ -1294,7 +1294,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, struct pt_regs *regs) +static irqreturn_t snd_cmipci_interrupt(int irq, void *dev_id)  {  	struct cmipci *cm = dev_id;  	unsigned int status, mask = 0; @@ -1315,7 +1315,7 @@ static irqreturn_t snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *r  	spin_unlock(&cm->reg_lock);  	if (cm->rmidi && (status & CM_UARTINT)) -		snd_mpu401_uart_interrupt(irq, cm->rmidi->private_data, regs); +		snd_mpu401_uart_interrupt(irq, 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 1990430a21c..d54924e60bb 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, struct pt_regs *regs); +static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id);  static struct pci_device_id snd_cs4281_ids[] = {  	{ 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },	/* CS4281 */ @@ -1814,7 +1814,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, struct pt_regs *regs) +static irqreturn_t snd_cs4281_interrupt(int irq, 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 4851847180d..16d4ebf2a33 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, struct pt_regs *regs) +static irqreturn_t snd_cs46xx_interrupt(int irq, 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 64c7826e8b8..2441238f200 100644 --- a/sound/pci/cs5535audio/cs5535audio.c +++ b/sound/pci/cs5535audio/cs5535audio.c @@ -203,8 +203,7 @@ static void process_bm1_irq(struct cs5535audio *cs5535au)  	}  } -static irqreturn_t snd_cs5535audio_interrupt(int irq, void *dev_id, -					     struct pt_regs *regs) +static irqreturn_t snd_cs5535audio_interrupt(int irq, void *dev_id)  {  	u16 acc_irq_stat;  	u8 bm_stat; diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c index c3dafa29054..e5e88fe54de 100644 --- a/sound/pci/echoaudio/echoaudio.c +++ b/sound/pci/echoaudio/echoaudio.c @@ -1818,8 +1818,7 @@ static struct snd_kcontrol_new snd_echo_channels_info __devinitdata = {  	IRQ Handler  ******************************************************************************/ -static irqreturn_t snd_echo_interrupt(int irq, void *dev_id, -				      struct pt_regs *regs) +static irqreturn_t snd_echo_interrupt(int irq, 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 da1610a571b..c46905a1117 100644 --- a/sound/pci/emu10k1/emu10k1x.c +++ b/sound/pci/emu10k1/emu10k1x.c @@ -780,8 +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, -					  struct pt_regs *regs) +static irqreturn_t snd_emu10k1x_interrupt(int irq, void *dev_id)  {  	unsigned int status; diff --git a/sound/pci/emu10k1/irq.c b/sound/pci/emu10k1/irq.c index 1076af4c366..4f18f7e8bcf 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, struct pt_regs *regs) +irqreturn_t snd_emu10k1_interrupt(int irq, 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 a8a601fc781..8cb4fb2412d 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c @@ -444,7 +444,7 @@ struct ensoniq {  #endif  }; -static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id);  static struct pci_device_id snd_audiopci_ids[] = {  #ifdef CHIP1370 @@ -2404,7 +2404,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, struct pt_regs *regs) +static irqreturn_t snd_audiopci_interrupt(int irq, 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 3ce5a4e7e31..2da988f78ba 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, struct pt_regs *regs); +static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id);  static struct pci_device_id snd_es1938_ids[] = {          { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },   /* Solo-1 */ @@ -1642,7 +1642,7 @@ static int __devinit snd_es1938_create(struct snd_card *card,  /* --------------------------------------------------------------------   * Interrupt handler   * -------------------------------------------------------------------- */ -static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id)  {  	struct es1938 *chip = dev_id;  	unsigned char status, audiostatus; @@ -1714,7 +1714,7 @@ static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *r  		// 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, regs); +			snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);  		}  	}  	return IRQ_RETVAL(handled); diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c index f3c40385c87..b9d723c7e1d 100644 --- a/sound/pci/es1968.c +++ b/sound/pci/es1968.c @@ -590,7 +590,7 @@ struct es1968 {  #endif  }; -static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id);  static struct pci_device_id snd_es1968_ids[] = {  	/* Maestro 1 */ @@ -1962,7 +1962,7 @@ static void es1968_update_hw_volume(unsigned long private_data)  /*   * interrupt handler   */ -static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id)  {  	struct es1968 *chip = dev_id;  	u32 event; @@ -1979,7 +1979,7 @@ static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *r  	outb(0xFF, chip->io_port + 0x1A);  	if ((event & ESM_MPU401_IRQ) && chip->rmidi) { -		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); +		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);  	}  	if (event & ESM_SOUND_IRQ) { diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c index bdfda1997d5..3ec7d7ee04d 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, struct pt_regs *regs) +static irqreturn_t snd_fm801_interrupt(int irq, 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, struct pt_regs *re  		snd_pcm_period_elapsed(chip->capture_substream);  	}  	if (chip->rmidi && (status & FM801_IRQ_MPU)) -		snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); +		snd_mpu401_uart_interrupt(irq, 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 e9d4cb4d07e..a76a778d0a1 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -811,7 +811,7 @@ static void azx_init_chip(struct azx *chip)  /*   * interrupt handler   */ -static irqreturn_t azx_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t azx_interrupt(int irq, 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 dc69392eafa..8a576b78bee 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c @@ -420,7 +420,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, struct pt_regs *regs) +static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id)  {  	struct snd_ice1712 *ice = dev_id;  	unsigned char status; @@ -433,7 +433,7 @@ static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *  		handled = 1;  		if (status & ICE1712_IRQ_MPU1) {  			if (ice->rmidi[0]) -				snd_mpu401_uart_interrupt(irq, ice->rmidi[0]->private_data, regs); +				snd_mpu401_uart_interrupt(irq, ice->rmidi[0]->private_data);  			outb(ICE1712_IRQ_MPU1, ICEREG(ice, IRQSTAT));  			status &= ~ICE1712_IRQ_MPU1;  		} @@ -441,7 +441,7 @@ static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *  			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, regs); +				snd_mpu401_uart_interrupt(irq, 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 71d6aedc074..e9cbfdf3705 100644 --- a/sound/pci/ice1712/ice1724.c +++ b/sound/pci/ice1712/ice1724.c @@ -218,7 +218,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, struct pt_regs *regs) +static irqreturn_t snd_vt1724_interrupt(int irq, void *dev_id)  {  	struct snd_ice1712 *ice = dev_id;  	unsigned char status; @@ -236,7 +236,7 @@ static irqreturn_t snd_vt1724_interrupt(int irq, void *dev_id, struct pt_regs *r  		 */  		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, regs); +				snd_mpu401_uart_interrupt(irq, 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 72dbaedcbdf..f4319b8d464 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c @@ -801,7 +801,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, struct pt_regs *regs) +static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id)  {  	struct intel8x0 *chip = dev_id;  	struct ichdev *ichdev; diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index 268e2f7241e..6703f5cb556 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c @@ -511,7 +511,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, struct pt_regs *regs) +static irqreturn_t snd_intel8x0_interrupt(int irq, 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 cfea51f4478..398aa10a06e 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c @@ -1119,7 +1119,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, struct pt_regs *regs) +static irqreturn_t snd_korg1212_interrupt(int irq, void *dev_id)  {          u32 doorbellValue;          struct snd_korg1212 *korg1212 = dev_id; diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c index 45214b3b81b..05605f474a7 100644 --- a/sound/pci/maestro3.c +++ b/sound/pci/maestro3.c @@ -1685,8 +1685,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, struct pt_regs *regs) +static irqreturn_t snd_m3_interrupt(int irq, void *dev_id)  {  	struct snd_m3 *chip = dev_id;  	u8 status; diff --git a/sound/pci/mixart/mixart_core.c b/sound/pci/mixart/mixart_core.c index 406ac3a9d42..d54457317b1 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, struct pt_regs *regs) +irqreturn_t snd_mixart_interrupt(int irq, 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 1fe2bcfcc57..c919b734756 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, struct pt_regs *regs); +irqreturn_t snd_mixart_interrupt(int irq, 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 101eee0aa01..b1bbdb9e3b7 100644 --- a/sound/pci/nm256/nm256.c +++ b/sound/pci/nm256/nm256.c @@ -236,7 +236,7 @@ struct nm256 {  	int irq;  	int irq_acks; -	irqreturn_t (*interrupt)(int, void *, struct pt_regs *); +	irq_handler_t interrupt;  	int badintrcount;		/* counter to check bogus interrupts */  	struct mutex irq_mutex; @@ -1004,7 +1004,7 @@ snd_nm256_intr_check(struct nm256 *chip)   */  static irqreturn_t -snd_nm256_interrupt(int irq, void *dev_id, struct pt_regs *dummy) +snd_nm256_interrupt(int irq, void *dev_id)  {  	struct nm256 *chip = dev_id;  	u16 status; @@ -1069,7 +1069,7 @@ snd_nm256_interrupt(int irq, void *dev_id, struct pt_regs *dummy)   */  static irqreturn_t -snd_nm256_interrupt_zx(int irq, void *dev_id, struct pt_regs *dummy) +snd_nm256_interrupt_zx(int irq, 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 c40f5906268..0ff8dc36fde 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, struct pt_regs *regs) +irqreturn_t pcxhr_interrupt(int irq, 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 e7415d6d182..d9a4ab60987 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, struct pt_regs *regs); +irqreturn_t pcxhr_interrupt(int irq, 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 fe210c85344..ec4899147e1 100644 --- a/sound/pci/riptide/riptide.c +++ b/sound/pci/riptide/riptide.c @@ -1736,7 +1736,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, struct pt_regs *regs) +snd_riptide_interrupt(int irq, void *dev_id)  {  	struct snd_riptide *chip = dev_id;  	struct cmdif *cif = chip->cif; @@ -1751,8 +1751,7 @@ snd_riptide_interrupt(int irq, void *dev_id, struct pt_regs *regs)  		if (chip->rmidi && IS_MPUIRQ(cif->hwport)) {  			chip->handled_irqs++;  			snd_mpu401_uart_interrupt(irq, -						  chip->rmidi->private_data, -						  regs); +						  chip->rmidi->private_data);  		}  		SET_AIACK(cif->hwport);  	} diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c index 2a71499242f..dc8d1302e22 100644 --- a/sound/pci/rme32.c +++ b/sound/pci/rme32.c @@ -818,8 +818,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, struct pt_regs *regs) +static irqreturn_t snd_rme32_interrupt(int irq, void *dev_id)  {  	struct rme32 *rme32 = (struct rme32 *) dev_id; diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index f8de7c99701..106110a89a4 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c @@ -1117,8 +1117,7 @@ snd_rme96_capture_stop(struct rme96 *rme96)  static irqreturn_t  snd_rme96_interrupt(int irq, -		    void *dev_id, -		    struct pt_regs *regs) +		    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 d3e07de433b..694aa057ed4 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c @@ -3603,7 +3603,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, struct pt_regs *regs) +static irqreturn_t snd_hdsp_interrupt(int irq, 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 7d03ae066d5..7055d893855 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c @@ -2556,8 +2556,7 @@ static int snd_hdspm_set_defaults(struct hdspm * hdspm)     interupt    ------------------------------------------------------------*/ -static irqreturn_t snd_hdspm_interrupt(int irq, void *dev_id, -				       struct pt_regs *regs) +static irqreturn_t snd_hdspm_interrupt(int irq, 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 fc15f61ad5d..cf0427b4bfd 100644 --- a/sound/pci/rme9652/rme9652.c +++ b/sound/pci/rme9652/rme9652.c @@ -1882,7 +1882,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, struct pt_regs *regs) +static irqreturn_t snd_rme9652_interrupt(int irq, 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 e5d4def1aa6..f9b8afabda9 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, struct pt_regs *regs) +static irqreturn_t snd_sonicvibes_interrupt(int irq, 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, struct pt_reg  	}  	if (sonic->rmidi) {  		if (status & SV_MIDI_IRQ) -			snd_mpu401_uart_interrupt(irq, sonic->rmidi->private_data, regs); +			snd_mpu401_uart_interrupt(irq, 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 ebbe12d78d8..0d478871808 100644 --- a/sound/pci/trident/trident_main.c +++ b/sound/pci/trident/trident_main.c @@ -52,8 +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, -					 struct pt_regs *regs); +static irqreturn_t snd_trident_interrupt(int irq, void *dev_id);  static int snd_trident_sis_reset(struct snd_trident *trident);  static void snd_trident_clear_voices(struct snd_trident * trident, @@ -3737,7 +3736,7 @@ static int snd_trident_free(struct snd_trident *trident)    ---------------------------------------------------------------------------*/ -static irqreturn_t snd_trident_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_trident_interrupt(int irq, void *dev_id)  {  	struct snd_trident *trident = dev_id;  	unsigned int audio_int, chn_int, stimer, channel, mask, tmp; @@ -3825,7 +3824,7 @@ static irqreturn_t snd_trident_interrupt(int irq, void *dev_id, struct pt_regs *  	}  	if (audio_int & MPU401_IRQ) {  		if (trident->rmidi) { -			snd_mpu401_uart_interrupt(irq, trident->rmidi->private_data, regs); +			snd_mpu401_uart_interrupt(irq, trident->rmidi->private_data);  		} else {  			inb(TRID_REG(trident, T4D_MPUR0));  		} diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 6db3d4cc4d8..e6990e0bbf2 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, struct pt_regs *regs) +static irqreturn_t snd_via686_interrupt(int irq, 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, struct pt_regs *r  	if (! (status & chip->intr_mask)) {  		if (chip->rmidi)  			/* check mpu401 interrupt */ -			return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); +			return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);  		return IRQ_NONE;  	} @@ -659,7 +659,7 @@ static irqreturn_t snd_via686_interrupt(int irq, void *dev_id, struct pt_regs *r  /*   *  Interrupt handler   */ -static irqreturn_t snd_via8233_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_via8233_interrupt(int irq, 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 016f9dac253..5ab1cf3d434 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, struct pt_regs *regs) +static irqreturn_t snd_via82xx_interrupt(int irq, 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 24f6fc52f89..ebc6da89edf 100644 --- a/sound/pci/ymfpci/ymfpci_main.c +++ b/sound/pci/ymfpci/ymfpci_main.c @@ -753,7 +753,7 @@ static void snd_ymfpci_irq_wait(struct snd_ymfpci *chip)  	}  } -static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id)  {  	struct snd_ymfpci *chip = dev_id;  	u32 status, nvoice, mode; @@ -799,7 +799,7 @@ static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *r  	snd_ymfpci_writew(chip, YDSXGR_INTFLAG, status);  	if (chip->rawmidi) -		snd_mpu401_uart_interrupt(irq, chip->rawmidi->private_data, regs); +		snd_mpu401_uart_interrupt(irq, chip->rawmidi->private_data);  	return IRQ_HANDLED;  } diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.h b/sound/pcmcia/pdaudiocf/pdaudiocf.h index 9a14a4f64bd..206e2f5a113 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, struct pt_regs *regs); +irqreturn_t pdacf_interrupt(int irq, 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 7c5f21e45cb..732263e4a43 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c @@ -26,7 +26,7 @@  /*   *   */ -irqreturn_t pdacf_interrupt(int irq, void *dev, struct pt_regs *regs) +irqreturn_t pdacf_interrupt(int irq, void *dev)  {  	struct snd_pdacf *chip = dev;  	unsigned short stat; @@ -45,7 +45,7 @@ irqreturn_t pdacf_interrupt(int irq, void *dev, struct pt_regs *regs)  		if (!(stat & PDAUDIOCF_IRQAKM))  			stat |= PDAUDIOCF_IRQAKM;	/* check rate */  	} -	if (regs != NULL) +	if (get_irq_regs() != NULL)  		snd_ak4117_check_rate_and_errors(chip->ak4117, 0);  	return IRQ_HANDLED;  } diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c index 64143063150..c64af55865d 100644 --- a/sound/ppc/pmac.c +++ b/sound/ppc/pmac.c @@ -713,7 +713,7 @@ void snd_pmac_beep_dma_stop(struct snd_pmac *chip)   * interrupt handlers   */  static irqreturn_t -snd_pmac_tx_intr(int irq, void *devid, struct pt_regs *regs) +snd_pmac_tx_intr(int irq, void *devid)  {  	struct snd_pmac *chip = devid;  	snd_pmac_pcm_update(chip, &chip->playback); @@ -722,7 +722,7 @@ snd_pmac_tx_intr(int irq, void *devid, struct pt_regs *regs)  static irqreturn_t -snd_pmac_rx_intr(int irq, void *devid, struct pt_regs *regs) +snd_pmac_rx_intr(int irq, void *devid)  {  	struct snd_pmac *chip = devid;  	snd_pmac_pcm_update(chip, &chip->capture); @@ -731,7 +731,7 @@ snd_pmac_rx_intr(int irq, void *devid, struct pt_regs *regs)  static irqreturn_t -snd_pmac_ctrl_intr(int irq, void *devid, struct pt_regs *regs) +snd_pmac_ctrl_intr(int irq, 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 cdff53e4a17..2fbe1d183fc 100644 --- a/sound/ppc/tumbler.c +++ b/sound/ppc/tumbler.c @@ -1017,7 +1017,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, struct pt_regs *regs) +static irqreturn_t headphone_intr(int irq, 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 be0bd503f01..c899786f30f 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, struct pt_regs *regs) +static irqreturn_t snd_amd7930_interrupt(int irq, 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 9a06c3bd694..edeb3d3c4c7 100644 --- a/sound/sparc/cs4231.c +++ b/sound/sparc/cs4231.c @@ -1753,7 +1753,7 @@ out_err:  #ifdef SBUS_SUPPORT -static irqreturn_t snd_cs4231_sbus_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_cs4231_sbus_interrupt(int irq, void *dev_id)  {  	unsigned long flags;  	unsigned char status; diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c index 5a97be689b4..4ceb09d215d 100644 --- a/sound/sparc/dbri.c +++ b/sound/sparc/dbri.c @@ -1903,8 +1903,7 @@ static void dbri_process_interrupt_buffer(struct snd_dbri * dbri)  	}  } -static irqreturn_t snd_dbri_interrupt(int irq, void *dev_id, -				      struct pt_regs *regs) +static irqreturn_t snd_dbri_interrupt(int irq, void *dev_id)  {  	struct snd_dbri *dbri = dev_id;  	static int errcnt = 0; diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index a42acf6d7b6..c82b01c7ad3 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c @@ -653,7 +653,7 @@ static struct snd_urb_ops audio_urb_ops_high_speed[2] = {  /*   * complete callback from data urb   */ -static void snd_complete_urb(struct urb *urb, struct pt_regs *regs) +static void snd_complete_urb(struct urb *urb)  {  	struct snd_urb_ctx *ctx = (struct snd_urb_ctx *)urb->context;  	struct snd_usb_substream *subs = ctx->subs; @@ -676,7 +676,7 @@ static void snd_complete_urb(struct urb *urb, struct pt_regs *regs)  /*   * complete callback from sync urb   */ -static void snd_complete_sync_urb(struct urb *urb, struct pt_regs *regs) +static void snd_complete_sync_urb(struct urb *urb)  {  	struct snd_urb_ctx *ctx = (struct snd_urb_ctx *)urb->context;  	struct snd_usb_substream *subs = ctx->subs; diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c index 0dcf78adb99..b7c5e59b229 100644 --- a/sound/usb/usbmidi.c +++ b/sound/usb/usbmidi.c @@ -223,7 +223,7 @@ static void dump_urb(const char *type, const u8 *data, int length)  /*   * Processes the data read from the device.   */ -static void snd_usbmidi_in_urb_complete(struct urb* urb, struct pt_regs *regs) +static void snd_usbmidi_in_urb_complete(struct urb* urb)  {  	struct snd_usb_midi_in_endpoint* ep = urb->context; @@ -247,7 +247,7 @@ static void snd_usbmidi_in_urb_complete(struct urb* urb, struct pt_regs *regs)  	snd_usbmidi_submit_urb(urb, GFP_ATOMIC);  } -static void snd_usbmidi_out_urb_complete(struct urb* urb, struct pt_regs *regs) +static void snd_usbmidi_out_urb_complete(struct urb* urb)  {  	struct snd_usb_midi_out_endpoint* ep = urb->context; diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index e516d6adbb2..1024c178f5c 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c @@ -1710,7 +1710,7 @@ static void snd_usb_mixer_memory_change(struct usb_mixer_interface *mixer,  	}  } -static void snd_usb_mixer_status_complete(struct urb *urb, struct pt_regs *regs) +static void snd_usb_mixer_status_complete(struct urb *urb)  {  	struct usb_mixer_interface *mixer = urb->context; @@ -1772,8 +1772,7 @@ static int snd_usb_mixer_status_create(struct usb_mixer_interface *mixer)  	return 0;  } -static void snd_usb_soundblaster_remote_complete(struct urb *urb, -						 struct pt_regs *regs) +static void snd_usb_soundblaster_remote_complete(struct urb *urb)  {  	struct usb_mixer_interface *mixer = urb->context;  	const struct rc_config *rc = mixer->rc_cfg; diff --git a/sound/usb/usx2y/usbusx2y.c b/sound/usb/usx2y/usbusx2y.c index cfec38d7839..e011fcacce9 100644 --- a/sound/usb/usx2y/usbusx2y.c +++ b/sound/usb/usx2y/usbusx2y.c @@ -172,7 +172,7 @@ static void snd_usX2Y_card_private_free(struct snd_card *card);  /*    * pipe 4 is used for switching the lamps, setting samplerate, volumes ....      */ -static void i_usX2Y_Out04Int(struct urb *urb, struct pt_regs *regs) +static void i_usX2Y_Out04Int(struct urb *urb)  {  #ifdef CONFIG_SND_DEBUG  	if (urb->status) { @@ -184,7 +184,7 @@ static void i_usX2Y_Out04Int(struct urb *urb, struct pt_regs *regs)  #endif  } -static void i_usX2Y_In04Int(struct urb *urb, struct pt_regs *regs) +static void i_usX2Y_In04Int(struct urb *urb)  {  	int			err = 0;  	struct usX2Ydev		*usX2Y = urb->context; diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c index f6bd0dee563..e662281a751 100644 --- a/sound/usb/usx2y/usbusx2yaudio.c +++ b/sound/usb/usx2y/usbusx2yaudio.c @@ -306,7 +306,7 @@ static void usX2Y_error_sequence(struct usX2Ydev *usX2Y,  	usX2Y_clients_stop(usX2Y);  } -static void i_usX2Y_urb_complete(struct urb *urb, struct pt_regs *regs) +static void i_usX2Y_urb_complete(struct urb *urb)  {  	struct snd_usX2Y_substream *subs = urb->context;  	struct usX2Ydev *usX2Y = subs->usX2Y; @@ -350,7 +350,7 @@ static void i_usX2Y_urb_complete(struct urb *urb, struct pt_regs *regs)  }  static void usX2Y_urbs_set_complete(struct usX2Ydev * usX2Y, -				    void (*complete)(struct urb *, struct pt_regs *)) +				    void (*complete)(struct urb *))  {  	int s, u;  	for (s = 0; s < 4; s++) { @@ -370,7 +370,7 @@ static void usX2Y_subs_startup_finish(struct usX2Ydev * usX2Y)  	usX2Y->prepare_subs = NULL;  } -static void i_usX2Y_subs_startup(struct urb *urb, struct pt_regs *regs) +static void i_usX2Y_subs_startup(struct urb *urb)  {  	struct snd_usX2Y_substream *subs = urb->context;  	struct usX2Ydev *usX2Y = subs->usX2Y; @@ -382,7 +382,7 @@ static void i_usX2Y_subs_startup(struct urb *urb, struct pt_regs *regs)  			wake_up(&usX2Y->prepare_wait_queue);  		} -	i_usX2Y_urb_complete(urb, regs); +	i_usX2Y_urb_complete(urb);  }  static void usX2Y_subs_prepare(struct snd_usX2Y_substream *subs) @@ -663,7 +663,7 @@ static struct s_c2 SetRate48000[] =  };  #define NOOF_SETRATE_URBS ARRAY_SIZE(SetRate48000) -static void i_usX2Y_04Int(struct urb *urb, struct pt_regs *regs) +static void i_usX2Y_04Int(struct urb *urb)  {  	struct usX2Ydev *usX2Y = urb->context; diff --git a/sound/usb/usx2y/usx2yhwdeppcm.c b/sound/usb/usx2y/usx2yhwdeppcm.c index 88b72b52590..9acef9d9054 100644 --- a/sound/usb/usx2y/usx2yhwdeppcm.c +++ b/sound/usb/usx2y/usx2yhwdeppcm.c @@ -226,7 +226,7 @@ static inline int usX2Y_usbpcm_usbframe_complete(struct snd_usX2Y_substream *cap  } -static void i_usX2Y_usbpcm_urb_complete(struct urb *urb, struct pt_regs *regs) +static void i_usX2Y_usbpcm_urb_complete(struct urb *urb)  {  	struct snd_usX2Y_substream *subs = urb->context;  	struct usX2Ydev *usX2Y = subs->usX2Y; @@ -294,7 +294,7 @@ static void usX2Y_usbpcm_subs_startup_finish(struct usX2Ydev * usX2Y)  	usX2Y->prepare_subs = NULL;  } -static void i_usX2Y_usbpcm_subs_startup(struct urb *urb, struct pt_regs *regs) +static void i_usX2Y_usbpcm_subs_startup(struct urb *urb)  {  	struct snd_usX2Y_substream *subs = urb->context;  	struct usX2Ydev *usX2Y = subs->usX2Y; @@ -311,7 +311,7 @@ static void i_usX2Y_usbpcm_subs_startup(struct urb *urb, struct pt_regs *regs)  		wake_up(&usX2Y->prepare_wait_queue);  	} -	i_usX2Y_usbpcm_urb_complete(urb, regs); +	i_usX2Y_usbpcm_urb_complete(urb);  }  /*  |