The patch titled m32r pt_regs fixes has been removed from the -mm tree. Its filename is m32r-pt_regs-fixes.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: m32r pt_regs fixes From: Al Viro <viro@xxxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- arch/m32r/kernel/irq.c | 5 ++++- arch/m32r/kernel/smp.c | 13 ++++++++----- arch/m32r/kernel/time.c | 10 +++++----- drivers/net/smc91x.c | 2 +- drivers/pcmcia/m32r_pcc.c | 2 +- drivers/serial/m32r_sio.c | 2 +- include/asm-m32r/irq_regs.h | 1 + 7 files changed, 21 insertions(+), 14 deletions(-) diff -puN arch/m32r/kernel/irq.c~m32r-pt_regs-fixes arch/m32r/kernel/irq.c --- a/arch/m32r/kernel/irq.c~m32r-pt_regs-fixes +++ a/arch/m32r/kernel/irq.c @@ -77,13 +77,16 @@ skip: */ asmlinkage unsigned int do_IRQ(int irq, struct pt_regs *regs) { + struct pt_regs *old_regs; + old_regs = set_irq_regs(regs); irq_enter(); #ifdef CONFIG_DEBUG_STACKOVERFLOW /* FIXME M32R */ #endif - __do_IRQ(irq, regs); + __do_IRQ(irq); irq_exit(); + set_irq_regs(old_regs); return 1; } diff -puN arch/m32r/kernel/smp.c~m32r-pt_regs-fixes arch/m32r/kernel/smp.c --- a/arch/m32r/kernel/smp.c~m32r-pt_regs-fixes +++ a/arch/m32r/kernel/smp.c @@ -101,7 +101,7 @@ void smp_call_function_interrupt(void); void smp_send_timer(void); void smp_ipi_timer_interrupt(struct pt_regs *); -void smp_local_timer_interrupt(struct pt_regs *); +void smp_local_timer_interrupt(void); void send_IPI_allbutself(int, int); static void send_IPI_mask(cpumask_t, int, int); @@ -734,9 +734,12 @@ void smp_send_timer(void) *==========================================================================*/ void smp_ipi_timer_interrupt(struct pt_regs *regs) { + struct pt_regs *old_regs; + old_regs = set_irq_regs(regs); irq_enter(); - smp_local_timer_interrupt(regs); + smp_local_timer_interrupt(); irq_exit(); + set_irq_regs(old_regs); } /*==========================================================================* @@ -762,9 +765,9 @@ void smp_ipi_timer_interrupt(struct pt_r * ---------- --- -------------------------------------------------------- * 2003-06-24 hy use per_cpu structure. *==========================================================================*/ -void smp_local_timer_interrupt(struct pt_regs *regs) +void smp_local_timer_interrupt(void) { - int user = user_mode(regs); + int user = user_mode(get_irq_regs()); int cpu_id = smp_processor_id(); /* @@ -774,7 +777,7 @@ void smp_local_timer_interrupt(struct pt * useful with a profiling multiplier != 1 */ - profile_tick(CPU_PROFILING, regs); + profile_tick(CPU_PROFILING); if (--per_cpu(prof_counter, cpu_id) <= 0) { /* diff -puN arch/m32r/kernel/time.c~m32r-pt_regs-fixes arch/m32r/kernel/time.c --- a/arch/m32r/kernel/time.c~m32r-pt_regs-fixes +++ a/arch/m32r/kernel/time.c @@ -35,7 +35,7 @@ #ifdef CONFIG_SMP extern void send_IPI_allbutself(int, int); -extern void smp_local_timer_interrupt(struct pt_regs *); +extern void smp_local_timer_interrupt(void); #endif #define TICK_SIZE (tick_nsec / 1000) @@ -188,15 +188,15 @@ static long last_rtc_update = 0; * timer_interrupt() needs to keep up the real-time clock, * as well as call the "do_timer()" routine every clocktick */ -irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) +irqreturn_t timer_interrupt(int irq, void *dev_id) { #ifndef CONFIG_SMP - profile_tick(CPU_PROFILING, regs); + profile_tick(CPU_PROFILING); #endif do_timer(1); #ifndef CONFIG_SMP - update_process_times(user_mode(regs)); + update_process_times(user_mode(get_irq_regs())); #endif /* * If we have an externally synchronized Linux clock, then update @@ -221,7 +221,7 @@ irqreturn_t timer_interrupt(int irq, voi a hack, so don't look closely for now.. */ #ifdef CONFIG_SMP - smp_local_timer_interrupt(regs); + smp_local_timer_interrupt(); smp_send_timer(); #endif diff -puN drivers/net/smc91x.c~m32r-pt_regs-fixes drivers/net/smc91x.c --- a/drivers/net/smc91x.c~m32r-pt_regs-fixes +++ a/drivers/net/smc91x.c @@ -1400,7 +1400,7 @@ static irqreturn_t smc_interrupt(int irq static void smc_poll_controller(struct net_device *dev) { disable_irq(dev->irq); - smc_interrupt(dev->irq, dev, NULL); + smc_interrupt(dev->irq, dev); enable_irq(dev->irq); } #endif diff -puN drivers/pcmcia/m32r_pcc.c~m32r-pt_regs-fixes drivers/pcmcia/m32r_pcc.c --- a/drivers/pcmcia/m32r_pcc.c~m32r-pt_regs-fixes +++ a/drivers/pcmcia/m32r_pcc.c @@ -395,7 +395,7 @@ static irqreturn_t pcc_interrupt(int irq static void pcc_interrupt_wrapper(u_long data) { - pcc_interrupt(0, NULL, NULL); + pcc_interrupt(0, NULL); init_timer(&poll_timer); poll_timer.expires = jiffies + poll_interval; add_timer(&poll_timer); diff -puN drivers/serial/m32r_sio.c~m32r-pt_regs-fixes drivers/serial/m32r_sio.c --- a/drivers/serial/m32r_sio.c~m32r-pt_regs-fixes +++ a/drivers/serial/m32r_sio.c @@ -590,7 +590,7 @@ static void m32r_sio_timeout(unsigned lo sts = sio_in(up, SIOSTS); if (sts & 0x5) { spin_lock(&up->port.lock); - m32r_sio_handle_port(up, sts, NULL); + m32r_sio_handle_port(up, sts); spin_unlock(&up->port.lock); } diff -puN /dev/null include/asm-m32r/irq_regs.h --- /dev/null +++ a/include/asm-m32r/irq_regs.h @@ -0,0 +1 @@ +#include <asm-generic/irq_regs.h> _ Patches currently in -mm which might be from viro@xxxxxxxxxxxxxxxx are origin.patch slab-leaks3-default-y.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html