[PATCH 11/16] Use msecs_to_jiffies in input core

Dmitry Torokhov
2004-12-29T07:48:22Z

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

ChangeSet@1.1971, 2004-12-28 00:47:11-05:00, dtor_core@ameritech.net
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@mail.ru>

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)