media: touchscreen/sur40: set device_caps in struct video_device
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 4 Jun 2019 11:19:56 +0000 (07:19 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Wed, 12 Jun 2019 14:42:21 +0000 (10:42 -0400)
Instead of filling in the struct v4l2_capability device_caps
field, fill in the struct video_device device_caps field.

That way the V4L2 core knows what the capabilities of the
video device are.

But this only really works if all drivers use this, so convert
this touchscreen driver accordingly.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: Florian Echtler <floe@butterbrot.org>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/input/touchscreen/sur40.c

index 8c8ac4dff0d5a0be4a7cc2f4fc4798ffe26b0498..00cb1ba2d364398551421878d74a06c92a168bc3 100644 (file)
@@ -929,10 +929,6 @@ static int sur40_vidioc_querycap(struct file *file, void *priv,
        strlcpy(cap->driver, DRIVER_SHORT, sizeof(cap->driver));
        strlcpy(cap->card, DRIVER_LONG, sizeof(cap->card));
        usb_make_path(sur40->usbdev, cap->bus_info, sizeof(cap->bus_info));
-       cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_TOUCH |
-               V4L2_CAP_READWRITE |
-               V4L2_CAP_STREAMING;
-       cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
        return 0;
 }
 
@@ -1162,6 +1158,8 @@ static const struct video_device sur40_video_device = {
        .fops = &sur40_video_fops,
        .ioctl_ops = &sur40_video_ioctl_ops,
        .release = video_device_release_empty,
+       .device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_TOUCH |
+                      V4L2_CAP_READWRITE | V4L2_CAP_STREAMING,
 };
 
 /* USB-specific object needed to register this driver with the USB subsystem. */