All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] rcar_fdp1: constify vb2_ops structure
@ 2017-07-06 20:25 Gustavo A. R. Silva
  2017-07-06 22:41 ` Kieran Bingham
  0 siblings, 1 reply; 3+ messages in thread
From: Gustavo A. R. Silva @ 2017-07-06 20:25 UTC (permalink / raw)
  To: Kieran Bingham, Mauro Carvalho Chehab
  Cc: linux-media, linux-renesas-soc, linux-kernel, Gustavo A. R. Silva

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.

This issue was detected using Coccinelle and the following semantic patch:

@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 = { ... };

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
 drivers/media/platform/rcar_fdp1.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/rcar_fdp1.c b/drivers/media/platform/rcar_fdp1.c
index 3ee51fc..3245bc4 100644
--- a/drivers/media/platform/rcar_fdp1.c
+++ b/drivers/media/platform/rcar_fdp1.c
@@ -2032,7 +2032,7 @@ static void fdp1_stop_streaming(struct vb2_queue *q)
 	}
 }
 
-static struct vb2_ops fdp1_qops = {
+static const struct vb2_ops fdp1_qops = {
 	.queue_setup	 = fdp1_queue_setup,
 	.buf_prepare	 = fdp1_buf_prepare,
 	.buf_queue	 = fdp1_buf_queue,
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] rcar_fdp1: constify vb2_ops structure
  2017-07-06 20:25 [PATCH] rcar_fdp1: constify vb2_ops structure Gustavo A. R. Silva
@ 2017-07-06 22:41 ` Kieran Bingham
  2017-07-07 19:42   ` Gustavo A. R. Silva
  0 siblings, 1 reply; 3+ messages in thread
From: Kieran Bingham @ 2017-07-06 22:41 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Mauro Carvalho Chehab
  Cc: linux-media, linux-renesas-soc, linux-kernel

Hi Gustavo,

Thank you for the patch.

On 06/07/17 21:25, Gustavo A. R. Silva wrote:
> 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.
> 
> This issue was detected using Coccinelle and the following semantic patch:
> 
> @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 = { ... };
> 
> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>

Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

> ---
>  drivers/media/platform/rcar_fdp1.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/rcar_fdp1.c b/drivers/media/platform/rcar_fdp1.c
> index 3ee51fc..3245bc4 100644
> --- a/drivers/media/platform/rcar_fdp1.c
> +++ b/drivers/media/platform/rcar_fdp1.c
> @@ -2032,7 +2032,7 @@ static void fdp1_stop_streaming(struct vb2_queue *q)
>  	}
>  }
>  
> -static struct vb2_ops fdp1_qops = {
> +static const struct vb2_ops fdp1_qops = {
>  	.queue_setup	 = fdp1_queue_setup,
>  	.buf_prepare	 = fdp1_buf_prepare,
>  	.buf_queue	 = fdp1_buf_queue,
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] rcar_fdp1: constify vb2_ops structure
  2017-07-06 22:41 ` Kieran Bingham
@ 2017-07-07 19:42   ` Gustavo A. R. Silva
  0 siblings, 0 replies; 3+ messages in thread
From: Gustavo A. R. Silva @ 2017-07-07 19:42 UTC (permalink / raw)
  To: kieran.bingham
  Cc: Mauro Carvalho Chehab, linux-media, linux-renesas-soc, linux-kernel

Hi Kieran,

Quoting Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>:

> Hi Gustavo,
>
> Thank you for the patch.
>

Absolutely, glad to help. :)

> On 06/07/17 21:25, Gustavo A. R. Silva wrote:
>> 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.
>>
>> This issue was detected using Coccinelle and the following semantic patch:
>>
>> @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 = { ... };
>>
>> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
>
> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
>
>> ---
>>  drivers/media/platform/rcar_fdp1.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/rcar_fdp1.c  
>> b/drivers/media/platform/rcar_fdp1.c
>> index 3ee51fc..3245bc4 100644
>> --- a/drivers/media/platform/rcar_fdp1.c
>> +++ b/drivers/media/platform/rcar_fdp1.c
>> @@ -2032,7 +2032,7 @@ static void fdp1_stop_streaming(struct vb2_queue *q)
>>  	}
>>  }
>>
>> -static struct vb2_ops fdp1_qops = {
>> +static const struct vb2_ops fdp1_qops = {
>>  	.queue_setup	 = fdp1_queue_setup,
>>  	.buf_prepare	 = fdp1_buf_prepare,
>>  	.buf_queue	 = fdp1_buf_queue,
>>

--
Gustavo A. R. Silva

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-07-07 19:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-06 20:25 [PATCH] rcar_fdp1: constify vb2_ops structure Gustavo A. R. Silva
2017-07-06 22:41 ` Kieran Bingham
2017-07-07 19:42   ` Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.