| From 93bc5d1d9d92ebff98c12c6e6bb316eed90d6b6a Mon Sep 17 00:00:00 2001 |
| From: Ingo Molnar <mingo@elte.hu> |
| Date: Fri, 3 Jul 2009 08:30:16 -0500 |
| Subject: [PATCH] input: Do not disable interrupts on PREEMPT_RT |
| |
| commit 93bc5d1d9d92ebff98c12c6e6bb316eed90d6b6a in tip. |
| |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| |
| diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c |
| index ac11be0..65b0c44 100644 |
| --- a/drivers/input/gameport/gameport.c |
| +++ b/drivers/input/gameport/gameport.c |
| @@ -20,6 +20,7 @@ |
| #include <linux/slab.h> |
| #include <linux/delay.h> |
| #include <linux/kthread.h> |
| +#include <linux/interrupt.h> |
| #include <linux/sched.h> /* HZ */ |
| #include <linux/mutex.h> |
| #include <linux/freezer.h> |
| @@ -87,12 +88,12 @@ static int gameport_measure_speed(struct gameport *gameport) |
| tx = 1 << 30; |
| |
| for(i = 0; i < 50; i++) { |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| GET_TIME(t1); |
| for (t = 0; t < 50; t++) gameport_read(gameport); |
| GET_TIME(t2); |
| GET_TIME(t3); |
| - local_irq_restore(flags); |
| + local_irq_restore_nort(flags); |
| udelay(i * 10); |
| if ((t = DELTA(t2,t1) - DELTA(t3,t2)) < tx) tx = t; |
| } |
| @@ -111,11 +112,11 @@ static int gameport_measure_speed(struct gameport *gameport) |
| tx = 1 << 30; |
| |
| for(i = 0; i < 50; i++) { |
| - local_irq_save(flags); |
| + local_irq_save_nort(flags); |
| rdtscl(t1); |
| for (t = 0; t < 50; t++) gameport_read(gameport); |
| rdtscl(t2); |
| - local_irq_restore(flags); |
| + local_irq_restore_nort(flags); |
| udelay(i * 10); |
| if (t2 - t1 < tx) tx = t2 - t1; |
| } |
| -- |
| 1.7.1.1 |
| |