Declare reset_control_ops 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 reset_controller_dev x;
@@
x.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/soc/dove/pmu.o
text data bss dec hex filename
2447 112 16 2575 a0f drivers/soc/dove/pmu.o
File size after: drivers/soc/dove/pmu.o
text data bss dec hex filename
2479 80 16 2575 a0f drivers/soc/dove/pmu.o
Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
return 0;
}
-static struct reset_control_ops pmu_reset_ops = {
+static const struct reset_control_ops pmu_reset_ops = {
.reset = pmu_reset_reset,
.assert = pmu_reset_assert,
.deassert = pmu_reset_deassert,