staging: lustre: Constify kernel_param_ops structures
PATCH v2 1/1 staging: lustre: Constify kernel_param_ops structures
Check for structs which are not modified and hence can be declared as const. Done using Coccinelle:
// <smpl>
@r disable optional_qualifier@
identifier s != {peri_clk_data,threshold_attr,tracer_flags,tracer}; identifier i;
position p;
@@
static struct s i@p = { ... };
@ok@
identifier r.i;
expression e;
position p;
@@
e = i@p
@bad@
position p != {r.p,ok.p};
identifier r.i;
identifier r.s;
struct s e;
@@
e@i@p
@depends on !bad disable optional_qualifier@
identifier r.i;
identifier r.s;
@@
static
+const
struct s i = { ... };
// </smpl>
File size before:
text data bss dec hex filename 4651 4296 1344 10291 2833 drivers/staging/lustre/lnet/libcfs/debug.o
File size after:
text data bss dec hex filename 4779 4128 1344 10251 280b drivers/staging/lustre/lnet/libcfs/debug.o
---
Change in v2:
Fix typo "can are" -> "are" in commit message
drivers/staging/lustre/lnet/libcfs/debug.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/staging/lustre/lnet/libcfs/debug.c +4 -4
@@ -80,7 +80,7 @@ static int libcfs_param_debug_mb_set(const char *val,* it needs quite a bunch of extra processing, so we define special * debugmb parameter type with corresponding methods to handle this case */ -static struct kernel_param_ops param_ops_debugmb = { +static const struct kernel_param_ops param_ops_debugmb = { .set = libcfs_param_debug_mb_set, .get = param_get_uint, };
@@ -138,7 +138,7 @@ static int param_set_console_max_delay(const char *val, libcfs_console_min_delay, INT_MAX); } -static struct kernel_param_ops param_ops_console_max_delay = { +static const struct kernel_param_ops param_ops_console_max_delay = { .set = param_set_console_max_delay, .get = param_get_delay, };
@@ -156,7 +156,7 @@ static int param_set_console_min_delay(const char *val, 1, libcfs_console_max_delay); } -static struct kernel_param_ops param_ops_console_min_delay = { +static const struct kernel_param_ops param_ops_console_min_delay = { .set = param_set_console_min_delay, .get = param_get_delay, };
@@ -188,7 +188,7 @@ static int param_set_uintpos(const char *val, const struct kernel_param *kp)return param_set_uint_minmax (val, kp,1 ,-1 ); } -static struct kernel_param_ops param_ops_uintpos = { +static const struct kernel_param_ops param_ops_uintpos = { .set = param_set_uintpos, .get = param_get_uint, };
Signature · 1 line
2.7.4
Greg Kroah-Hartman
maintainerQuoted 2 lines · Rehas Sachdeva
Check for structs which are not modified and hence can be declared as const. Done using Coccinelle:
<snip>
Why did you send this same patch twice?
confused,
greg k-h
Quoted 8 lines · Greg Kroah-Hartman
Quoted 2 lines · Rehas Sachdeva
Check for structs which are not modified and hence can be declared as const. Done using Coccinelle:
<snip>
Why did you send this same patch twice?
I'm sorry. I forgot to include the changelog in v2.
Rehas
Quoted 3 lines
confused,
greg k-h