This kind of memcpy() is error-prone. Its replacement with a struct
assignment is prefered because it's type-safe and much easier to read.
Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
 {
        int ret = 0;
 
-       memcpy(&ctrl->info, info, sizeof(*info));
+       ctrl->info = *info;
        INIT_LIST_HEAD(&ctrl->info.mappings);
 
        /* Allocate an array to save control values (cur, def, max, etc.) */
 
                goto done;
        }
 
-       memcpy(&stream->ctrl, &probe, sizeof probe);
+       stream->ctrl = probe;
        stream->cur_format = format;
        stream->cur_frame = frame;
 
                return -EBUSY;
        }
 
-       memcpy(&probe, &stream->ctrl, sizeof probe);
+       probe = stream->ctrl;
        probe.dwFrameInterval =
                uvc_try_frame_interval(stream->cur_frame, interval);
 
                return ret;
        }
 
-       memcpy(&stream->ctrl, &probe, sizeof probe);
+       stream->ctrl = probe;
        mutex_unlock(&stream->mutex);
 
        /* Return the actual frame period. */