[media] usb: constify vb2_ops structures
authorJulia Lawall <Julia.Lawall@lip6.fr>
Thu, 8 Sep 2016 23:59:01 +0000 (20:59 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Mon, 19 Sep 2016 19:20:35 +0000 (16:20 -0300)
Check for vb2_ops structures that are only stored in the ops field of a
vb2_queue structure.  That field is declared const, so vb2_ops structures
that have this property can be declared as const also.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r disable optional_qualifier@
identifier i;
position p;
@@
static struct vb2_ops i@p = { ... };

@ok@
identifier r.i;
struct vb2_queue e;
position p;
@@
e.ops = &i@p;

@bad@
position p != {r.p,ok.p};
identifier r.i;
struct vb2_ops e;
@@
e@i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
 struct vb2_ops i = { ... };
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/usb/airspy/airspy.c
drivers/media/usb/au0828/au0828-video.c
drivers/media/usb/em28xx/em28xx-video.c
drivers/media/usb/go7007/go7007-v4l2.c
drivers/media/usb/hackrf/hackrf.c
drivers/media/usb/msi2500/msi2500.c
drivers/media/usb/pwc/pwc-if.c
drivers/media/usb/s2255/s2255drv.c
drivers/media/usb/stk1160/stk1160-v4l.c
drivers/media/usb/usbtv/usbtv-video.c
drivers/media/usb/uvc/uvc_queue.c

index 3c556ee306cd33cee0e3e6a3199209540b6a78c9..8251942bcd121ee339ddd4ba55645c918773a410 100644 (file)
@@ -605,7 +605,7 @@ static void airspy_stop_streaming(struct vb2_queue *vq)
        mutex_unlock(&s->v4l2_lock);
 }
 
-static struct vb2_ops airspy_vb2_ops = {
+static const struct vb2_ops airspy_vb2_ops = {
        .queue_setup            = airspy_queue_setup,
        .buf_queue              = airspy_buf_queue,
        .start_streaming        = airspy_start_streaming,
index 13b8387082f277ba63218c95c95396eb669d3f30..85dd9a8e83ff1e7246be55140adfe14d3d190151 100644 (file)
@@ -928,7 +928,7 @@ void au0828_stop_vbi_streaming(struct vb2_queue *vq)
        del_timer_sync(&dev->vbi_timeout);
 }
 
-static struct vb2_ops au0828_video_qops = {
+static const struct vb2_ops au0828_video_qops = {
        .queue_setup     = queue_setup,
        .buf_prepare     = buffer_prepare,
        .buf_queue       = buffer_queue,
index 7968695217f339d776a4b893e8fb14f1e7863287..1f7fa059eb34dd6983926802cc8ae900bd2ed517 100644 (file)
@@ -1204,7 +1204,7 @@ buffer_queue(struct vb2_buffer *vb)
        spin_unlock_irqrestore(&dev->slock, flags);
 }
 
-static struct vb2_ops em28xx_video_qops = {
+static const struct vb2_ops em28xx_video_qops = {
        .queue_setup    = queue_setup,
        .buf_prepare    = buffer_prepare,
        .buf_queue      = buffer_queue,
index af8458996d91f38cc0c3eb6fbfa982b463ac1061..4eaba0c24629c93834f44e5f9caec855acffa1b3 100644 (file)
@@ -477,7 +477,7 @@ static void go7007_stop_streaming(struct vb2_queue *q)
                go7007_write_addr(go, 0x3c82, 0x000d);
 }
 
-static struct vb2_ops go7007_video_qops = {
+static const struct vb2_ops go7007_video_qops = {
        .queue_setup    = go7007_queue_setup,
        .buf_queue      = go7007_buf_queue,
        .buf_prepare    = go7007_buf_prepare,
index 662d5090a12e1f1f213d851c5fd3bb90fa8d9f83..d9a5252605114b100653b1495c45e73917a27072 100644 (file)
@@ -891,7 +891,7 @@ static void hackrf_stop_streaming(struct vb2_queue *vq)
        mutex_unlock(&dev->v4l2_lock);
 }
 
-static struct vb2_ops hackrf_vb2_ops = {
+static const struct vb2_ops hackrf_vb2_ops = {
        .queue_setup            = hackrf_queue_setup,
        .buf_queue              = hackrf_buf_queue,
        .start_streaming        = hackrf_start_streaming,
index 367eb7e2a31dbc3f2d3b80d214743bc4f79f8f88..bb3d31e2a0b55b180084eea39054cdc9fbc5125e 100644 (file)
@@ -897,7 +897,7 @@ static void msi2500_stop_streaming(struct vb2_queue *vq)
        mutex_unlock(&dev->v4l2_lock);
 }
 
-static struct vb2_ops msi2500_vb2_ops = {
+static const struct vb2_ops msi2500_vb2_ops = {
        .queue_setup            = msi2500_queue_setup,
        .buf_queue              = msi2500_buf_queue,
        .start_streaming        = msi2500_start_streaming,
index c4454c928776f71c8d42ba61dec8f8ad22689051..ff657644b6b3f887af2fc46b2483bae4e9a0861b 100644 (file)
@@ -707,7 +707,7 @@ static void stop_streaming(struct vb2_queue *vq)
        mutex_unlock(&pdev->v4l2_lock);
 }
 
-static struct vb2_ops pwc_vb_queue_ops = {
+static const struct vb2_ops pwc_vb_queue_ops = {
        .queue_setup            = queue_setup,
        .buf_init               = buffer_init,
        .buf_prepare            = buffer_prepare,
index 9458eb0ef66f4380e75fca04805c5451bea6d379..c3a0e87066ebbbd78cda420a48f7dc76ab511107 100644 (file)
@@ -717,7 +717,7 @@ static void buffer_queue(struct vb2_buffer *vb)
 static int start_streaming(struct vb2_queue *vq, unsigned int count);
 static void stop_streaming(struct vb2_queue *vq);
 
-static struct vb2_ops s2255_video_qops = {
+static const struct vb2_ops s2255_video_qops = {
        .queue_setup = queue_setup,
        .buf_prepare = buffer_prepare,
        .buf_queue = buffer_queue,
index 5fab3bee8c74caf45eebad10aa305c7482d8f174..a005d262392acb277c8952cec61f34a15c10882b 100644 (file)
@@ -742,7 +742,7 @@ static void stop_streaming(struct vb2_queue *vq)
        stk1160_stop_streaming(dev);
 }
 
-static struct vb2_ops stk1160_video_qops = {
+static const struct vb2_ops stk1160_video_qops = {
        .queue_setup            = queue_setup,
        .buf_queue              = buffer_queue,
        .start_streaming        = start_streaming,
index 2a089756c988433dbb4e6502d6cd1156026efe1d..6cbe4a245c9f88b96a162614d2814046f88b1883 100644 (file)
@@ -689,7 +689,7 @@ static void usbtv_stop_streaming(struct vb2_queue *vq)
                usbtv_stop(usbtv);
 }
 
-static struct vb2_ops usbtv_vb2_ops = {
+static const struct vb2_ops usbtv_vb2_ops = {
        .queue_setup = usbtv_queue_setup,
        .buf_queue = usbtv_buf_queue,
        .start_streaming = usbtv_start_streaming,
index 773fefb52d7a514616b705d2a16dc2d3ebd29ce2..77edd206d3452b71460326e970a62c10b62708df 100644 (file)
@@ -177,7 +177,7 @@ static void uvc_stop_streaming(struct vb2_queue *vq)
        spin_unlock_irqrestore(&queue->irqlock, flags);
 }
 
-static struct vb2_ops uvc_queue_qops = {
+static const struct vb2_ops uvc_queue_qops = {
        .queue_setup = uvc_queue_setup,
        .buf_prepare = uvc_buffer_prepare,
        .buf_queue = uvc_buffer_queue,