All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] reset: constify reset_control_ops structures
@ 2017-01-09 16:53 Bhumika Goyal
  2017-01-12 10:54 ` Philipp Zabel
  0 siblings, 1 reply; 2+ messages in thread
From: Bhumika Goyal @ 2017-01-09 16:53 UTC (permalink / raw)
  To: julia.lawall, p.zabel, linux-kernel; +Cc: Bhumika Goyal

Declare reset_control_ops structures as const as they are only stored
in the ops field of a reset_controller_dev structure. This field is of
type const struct reset_control_ops *, so reset_control_ops structures
having this property can be declared as const.
Done using Coccinelle:

@r1 disable optional_qualifier@
identifier i;
position p;
@@
static struct reset_control_ops i@p={...};

@ok1@
identifier r1.i;
position p;
struct ti_syscon_reset_data data;
@@
data.rcdev.ops=&i@p;

@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct reset_control_ops i;

File size before: drivers/reset/reset-ti-syscon.o
   text	   data	    bss	    dec	    hex	filename
   1329	    240	      0	   1569	    621	drivers/reset/reset-ti-syscon.o

File size after: drivers/reset/reset-ti-syscon.o
   text	   data	    bss	    dec	    hex	filename
   1377	    192	      0	   1569	    621	drivers/reset/reset-ti-syscon.o

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
---
 drivers/reset/reset-ti-syscon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/reset/reset-ti-syscon.c b/drivers/reset/reset-ti-syscon.c
index 47f0ffd..50d938c 100644
--- a/drivers/reset/reset-ti-syscon.c
+++ b/drivers/reset/reset-ti-syscon.c
@@ -158,7 +158,7 @@ static int ti_syscon_reset_status(struct reset_controller_dev *rcdev,
 			(control->flags & STATUS_SET);
 }
 
-static struct reset_control_ops ti_syscon_reset_ops = {
+static const struct reset_control_ops ti_syscon_reset_ops = {
 	.assert		= ti_syscon_reset_assert,
 	.deassert	= ti_syscon_reset_deassert,
 	.status		= ti_syscon_reset_status,
-- 
1.9.1

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

* Re: [PATCH] reset: constify reset_control_ops structures
  2017-01-09 16:53 [PATCH] reset: constify reset_control_ops structures Bhumika Goyal
@ 2017-01-12 10:54 ` Philipp Zabel
  0 siblings, 0 replies; 2+ messages in thread
From: Philipp Zabel @ 2017-01-12 10:54 UTC (permalink / raw)
  To: Bhumika Goyal; +Cc: julia.lawall, linux-kernel

Am Montag, den 09.01.2017, 22:23 +0530 schrieb Bhumika Goyal:
> Declare reset_control_ops structures as const as they are only stored
> in the ops field of a reset_controller_dev structure. This field is of
> type const struct reset_control_ops *, so reset_control_ops structures
> having this property can be declared as const.
> Done using Coccinelle:
> 
> @r1 disable optional_qualifier@
> identifier i;
> position p;
> @@
> static struct reset_control_ops i@p={...};
> 
> @ok1@
> identifier r1.i;
> position p;
> struct ti_syscon_reset_data data;
> @@
> data.rcdev.ops=&i@p;
> 
> @bad@
> position p!={r1.p,ok1.p};
> identifier r1.i;
> @@
> i@p
> 
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> +const
> struct reset_control_ops i;
> 
> File size before: drivers/reset/reset-ti-syscon.o
>    text	   data	    bss	    dec	    hex	filename
>    1329	    240	      0	   1569	    621	drivers/reset/reset-ti-syscon.o
> 
> File size after: drivers/reset/reset-ti-syscon.o
>    text	   data	    bss	    dec	    hex	filename
>    1377	    192	      0	   1569	    621	drivers/reset/reset-ti-syscon.o
> 
> Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>

Applied, thank you.

regards
Philipp

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

end of thread, other threads:[~2017-01-12 10:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-09 16:53 [PATCH] reset: constify reset_control_ops structures Bhumika Goyal
2017-01-12 10:54 ` Philipp Zabel

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.