Skip to content

Commit

Permalink
Input: polled device power saving
Browse files Browse the repository at this point in the history
For slow running polling, it saves power to align wakeups on tick boundary.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Stephen Hemminger authored and Dmitry Torokhov committed Sep 26, 2007
1 parent e15b021 commit 14134b3
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/input/input-polldev.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ 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 @@ -78,8 +79,10 @@ static int input_open_polled_device(struct input_dev *input)
if (dev->flush)
dev->flush(dev);

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

return 0;
}
Expand Down

0 comments on commit 14134b3

Please sign in to comment.