[PATCH 11/16] Use msecs_to_jiffies in input core

From: Dmitry Torokhov
Date: Wed Dec 29 2004 - 02:53:31 EST



===================================================================


ChangeSet@xxxxxx, 2004-12-28 00:47:11-05:00, dtor_core@xxxxxxxxxxxxx
Input: use msecs_to_jiffies instead of homegrown ms_to_jiffies
when setting timer for autorepeat handling. This will
make sure that autorepeat is scheduled correctly when
HZ != 1000.

Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>


input.c | 15 ++++-----------
1 files changed, 4 insertions(+), 11 deletions(-)


===================================================================



diff -Nru a/drivers/input/input.c b/drivers/input/input.c
--- a/drivers/input/input.c 2004-12-29 01:51:20 -05:00
+++ b/drivers/input/input.c 2004-12-29 01:51:20 -05:00
@@ -54,14 +54,6 @@
static int input_devices_state;
#endif

-static inline unsigned int ms_to_jiffies(unsigned int ms)
-{
- unsigned int j;
- j = (ms * HZ + 500) / 1000;
- return (j > 0) ? j : 1;
-}
-
-
void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
{
struct input_handle *handle;
@@ -96,9 +88,9 @@

change_bit(code, dev->key);

- if (test_bit(EV_REP, dev->evbit) && dev->rep[REP_PERIOD] && dev->timer.data && value) {
+ if (test_bit(EV_REP, dev->evbit) && dev->rep[REP_PERIOD] && dev->rep[REP_DELAY] && dev->timer.data && value) {
dev->repeat_key = code;
- mod_timer(&dev->timer, jiffies + ms_to_jiffies(dev->rep[REP_DELAY]));
+ mod_timer(&dev->timer, jiffies + msecs_to_jiffies(dev->rep[REP_DELAY]));
}

break;
@@ -198,7 +190,8 @@
input_event(dev, EV_KEY, dev->repeat_key, 2);
input_sync(dev);

- mod_timer(&dev->timer, jiffies + ms_to_jiffies(dev->rep[REP_PERIOD]));
+ if (dev->rep[REP_PERIOD])
+ mod_timer(&dev->timer, jiffies + msecs_to_jiffies(dev->rep[REP_PERIOD]));
}

int input_accept_process(struct input_handle *handle, struct file *file)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/