kernel: bump 5.15 to 5.15.100
[openwrt/staging/dedeckeh.git] / target / linux / ramips / patches-5.15 / 810-uvc-add-iPassion-iP2970-support.patch
index ae7e886f9492bc08c19b52fc710e52686a80ff90..2d56440610e4fc4b9afb7e856bb66bf71fc7286f 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3164,6 +3164,18 @@ static const struct usb_device_id uvc_id
+@@ -3152,6 +3152,18 @@ static const struct usb_device_id uvc_id
          .bInterfaceSubClass   = 1,
          .bInterfaceProtocol   = 0,
          .driver_info          = UVC_INFO_META(V4L2_META_FMT_D4XX) },
@@ -34,7 +34,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },
 --- a/drivers/media/usb/uvc/uvc_status.c
 +++ b/drivers/media/usb/uvc/uvc_status.c
-@@ -223,6 +223,7 @@ static void uvc_status_complete(struct u
+@@ -224,6 +224,7 @@ static void uvc_status_complete(struct u
                        if (uvc_event_control(urb, status, len))
                                /* The URB will be resubmitted in work context. */
                                return;
@@ -42,7 +42,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                        break;
                }
  
-@@ -271,6 +272,7 @@ int uvc_status_init(struct uvc_device *d
+@@ -272,6 +273,7 @@ int uvc_status_init(struct uvc_device *d
        }
  
        pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress);
@@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        /* Mark the buffer as done if the EOF marker is set. */
        if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
                uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n");
-@@ -1799,6 +1944,8 @@ static int uvc_init_video_isoc(struct uv
+@@ -1801,6 +1946,8 @@ static int uvc_init_video_isoc(struct uv
        if (npackets == 0)
                return -ENOMEM;
  
@@ -225,18 +225,16 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        for_each_uvc_urb(uvc_urb, stream) {
 --- a/drivers/media/usb/uvc/uvcvideo.h
 +++ b/drivers/media/usb/uvc/uvcvideo.h
-@@ -209,7 +209,9 @@
- #define UVC_QUIRK_RESTORE_CTRLS_ON_INIT       0x00000400
+@@ -210,6 +210,8 @@
  #define UVC_QUIRK_FORCE_Y8            0x00000800
  #define UVC_QUIRK_FORCE_BPP           0x00001000
--
-+#define UVC_QUIRK_MOTION              0x00001000
-+#define UVC_QUIRK_SINGLE_ISO          0x00002000
-+ 
+ #define UVC_QUIRK_WAKE_AUTOSUSPEND    0x00002000
++#define UVC_QUIRK_MOTION              0x00004000
++#define UVC_QUIRK_SINGLE_ISO          0x00008000
  /* Format flags */
  #define UVC_FMT_FLAG_COMPRESSED               0x00000001
- #define UVC_FMT_FLAG_STREAM           0x00000002
-@@ -700,6 +702,7 @@ struct uvc_device {
+@@ -701,6 +703,7 @@ struct uvc_device {
        u8 *status;
        struct input_dev *input;
        char input_phys[64];