Message ID | 1501930033-18249-7-git-send-email-Julia.Lawall@lip6.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Thanks, Reviewed-by: Steve Longerbeam <steve_longerbeam@mentor.com> Steve On 08/05/2017 03:47 AM, Julia Lawall wrote: > These vb2_ops structures are only stored in the ops field of a > vb2_queue structure, which is declared as const. Thus the vb2_ops > structures themselves can be const. > > Done with the help of Coccinelle. > > // <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> > > --- > drivers/staging/media/imx/imx-media-capture.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/media/imx/imx-media-capture.c b/drivers/staging/media/imx/imx-media-capture.c > index ddab4c2..ea145ba 100644 > --- a/drivers/staging/media/imx/imx-media-capture.c > +++ b/drivers/staging/media/imx/imx-media-capture.c > @@ -62,7 +62,7 @@ struct capture_priv { > /* In bytes, per queue */ > #define VID_MEM_LIMIT SZ_64M > > -static struct vb2_ops capture_qops; > +static const struct vb2_ops capture_qops; > > /* > * Video ioctls follow > @@ -503,7 +503,7 @@ static void capture_stop_streaming(struct vb2_queue *vq) > spin_unlock_irqrestore(&priv->q_lock, flags); > } > > -static struct vb2_ops capture_qops = { > +static const struct vb2_ops capture_qops = { > .queue_setup = capture_queue_setup, > .buf_init = capture_buf_init, > .buf_prepare = capture_buf_prepare, >
diff --git a/drivers/staging/media/imx/imx-media-capture.c b/drivers/staging/media/imx/imx-media-capture.c index ddab4c2..ea145ba 100644 --- a/drivers/staging/media/imx/imx-media-capture.c +++ b/drivers/staging/media/imx/imx-media-capture.c @@ -62,7 +62,7 @@ struct capture_priv { /* In bytes, per queue */ #define VID_MEM_LIMIT SZ_64M -static struct vb2_ops capture_qops; +static const struct vb2_ops capture_qops; /* * Video ioctls follow @@ -503,7 +503,7 @@ static void capture_stop_streaming(struct vb2_queue *vq) spin_unlock_irqrestore(&priv->q_lock, flags); } -static struct vb2_ops capture_qops = { +static const struct vb2_ops capture_qops = { .queue_setup = capture_queue_setup, .buf_init = capture_buf_init, .buf_prepare = capture_buf_prepare,
These vb2_ops structures are only stored in the ops field of a vb2_queue structure, which is declared as const. Thus the vb2_ops structures themselves can be const. Done with the help of Coccinelle. // <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> --- drivers/staging/media/imx/imx-media-capture.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)