Merge tag 'v5.6' into next
[sfrench/cifs-2.6.git] / drivers / input / evdev.c
index f54d3d31f61dec99e9480fce5e3788a50221d02b..84ea84b27a28b420b6541e675139e3b9143f8084 100644 (file)
@@ -224,13 +224,13 @@ static void __pass_event(struct evdev_client *client,
                 */
                client->tail = (client->head - 2) & (client->bufsize - 1);
 
-               client->buffer[client->tail].input_event_sec =
-                                               event->input_event_sec;
-               client->buffer[client->tail].input_event_usec =
-                                               event->input_event_usec;
-               client->buffer[client->tail].type = EV_SYN;
-               client->buffer[client->tail].code = SYN_DROPPED;
-               client->buffer[client->tail].value = 0;
+               client->buffer[client->tail] = (struct input_event) {
+                       .input_event_sec = event->input_event_sec,
+                       .input_event_usec = event->input_event_usec,
+                       .type = EV_SYN,
+                       .code = SYN_DROPPED,
+                       .value = 0,
+               };
 
                client->packet_head = client->tail;
        }
@@ -485,10 +485,7 @@ static int evdev_open(struct inode *inode, struct file *file)
        struct evdev_client *client;
        int error;
 
-       client = kzalloc(struct_size(client, buffer, bufsize),
-                        GFP_KERNEL | __GFP_NOWARN);
-       if (!client)
-               client = vzalloc(struct_size(client, buffer, bufsize));
+       client = kvzalloc(struct_size(client, buffer, bufsize), GFP_KERNEL);
        if (!client)
                return -ENOMEM;