Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 84339
b: refs/heads/master
c: 374766b
h: refs/heads/master
i:
  84337: a5d9287
  84335: 113a4a4
v: v3
  • Loading branch information
Stephen Hemminger authored and Dmitry Torokhov committed Jan 21, 2008
1 parent 7f213a1 commit cb6d0dc
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a512a8cc20bbf74700d368ecb0a61dd9d8f1df48
refs/heads/master: 374766bc2aa784f7a0833cc7563f057241ca7815
18 changes: 10 additions & 8 deletions trunk/drivers/input/input-polldev.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,21 @@ static void input_polled_device_work(struct work_struct *work)
{
struct input_polled_dev *dev =
container_of(work, struct input_polled_dev, work.work);
unsigned long delay;

dev->poll(dev);
queue_delayed_work(polldev_wq, &dev->work,
msecs_to_jiffies(dev->poll_interval));

delay = msecs_to_jiffies(dev->poll_interval);
if (delay >= HZ)
delay = round_jiffies_relative(delay);

queue_delayed_work(polldev_wq, &dev->work, delay);
}

static int input_open_polled_device(struct input_dev *input)
{
struct input_polled_dev *dev = input->private;
int error;
unsigned long ticks;

error = input_polldev_start_workqueue();
if (error)
Expand All @@ -79,10 +83,8 @@ static int input_open_polled_device(struct input_dev *input)
if (dev->flush)
dev->flush(dev);

ticks = msecs_to_jiffies(dev->poll_interval);
if (ticks >= HZ)
ticks = round_jiffies(ticks);
queue_delayed_work(polldev_wq, &dev->work, ticks);
queue_delayed_work(polldev_wq, &dev->work,
msecs_to_jiffies(dev->poll_interval));

return 0;
}
Expand All @@ -91,7 +93,7 @@ static void input_close_polled_device(struct input_dev *input)
{
struct input_polled_dev *dev = input->private;

cancel_rearming_delayed_workqueue(polldev_wq, &dev->work);
cancel_delayed_work_sync(&dev->work);
input_polldev_stop_workqueue();
}

Expand Down

0 comments on commit cb6d0dc

Please sign in to comment.