Skip to content

Commit

Permalink
Input: hil_mlc - convert timeval to time64_t
Browse files Browse the repository at this point in the history
Since mlc->lcv_t is only interested in seconds, directly using time64_t
here.

This gets rid of the deprecated do_gettimeofday() and avoids problems
with time going backwards since we now use the monotonic clocksource.

Signed-off-by: WEN Pingbo <pingbo.wen@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Patchwork-Id: 10076611
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
  • Loading branch information
WEN Pingbo authored and Dmitry Torokhov committed Jan 2, 2018
1 parent c1b433e commit ac45e62
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 6 deletions.
8 changes: 3 additions & 5 deletions drivers/input/serio/hil_mlc.c
Original file line number Diff line number Diff line change
Expand Up @@ -274,14 +274,12 @@ static int hilse_match(hil_mlc *mlc, int unused)
/* An LCV used to prevent runaway loops, forces 5 second sleep when reset. */
static int hilse_init_lcv(hil_mlc *mlc, int unused)
{
struct timeval tv;
time64_t now = ktime_get_seconds();

do_gettimeofday(&tv);

if (mlc->lcv && (tv.tv_sec - mlc->lcv_tv.tv_sec) < 5)
if (mlc->lcv && (now - mlc->lcv_time) < 5)
return -1;

mlc->lcv_tv = tv;
mlc->lcv_time = now;
mlc->lcv = 0;

return 0;
Expand Down
2 changes: 1 addition & 1 deletion include/linux/hil_mlc.h
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ struct hil_mlc {

int ddi; /* Last operational device id */
int lcv; /* LCV to throttle loops */
struct timeval lcv_tv; /* Time loop was started */
time64_t lcv_time; /* Time loop was started */

int di_map[7]; /* Maps below items to live devs */
struct hil_mlc_devinfo di[HIL_MLC_DEVMEM];
Expand Down

0 comments on commit ac45e62

Please sign in to comment.