|
@@ -84,11 +84,14 @@ static int uinput_dev_event(struct input_dev *dev,
|
|
|
unsigned int type, unsigned int code, int value)
|
|
|
{
|
|
|
struct uinput_device *udev = input_get_drvdata(dev);
|
|
|
+ struct timespec64 ts;
|
|
|
|
|
|
udev->buff[udev->head].type = type;
|
|
|
udev->buff[udev->head].code = code;
|
|
|
udev->buff[udev->head].value = value;
|
|
|
- do_gettimeofday(&udev->buff[udev->head].time);
|
|
|
+ ktime_get_ts64(&ts);
|
|
|
+ udev->buff[udev->head].time.tv_sec = ts.tv_sec;
|
|
|
+ udev->buff[udev->head].time.tv_usec = ts.tv_nsec / NSEC_PER_USEC;
|
|
|
udev->head = (udev->head + 1) % UINPUT_BUFFER_SIZE;
|
|
|
|
|
|
wake_up_interruptible(&udev->waitq);
|