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 <[email protected]>
---
 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

Reply via email to