From: Gargi Sharma Date: Thu, 2 Mar 2017 16:57:15 +0000 (+0530) Subject: staging: lustre: lnet: Constify kernel_param_ops structure X-Git-Tag: v4.12-rc1~84^2~742 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=fb1c3256477207846ad0e626dc8adf173c1ba376;p=linux.git staging: lustre: lnet: Constify kernel_param_ops structure The structure is used as an argument to module_param macro. This macro calls a bunch of other macros and finally assigns the instance of the kernel_param_ops structure to the const struct kernel_param_ops* field of a variable of type kernel_param. Hence, const can be added to the structure. Coccinelle Script: @r disable optional_qualifier@ identifier i; position p; @@ static struct kernel_param_ops i@p = { ... }; @ok1@ identifier r.i; expression e; position p; @@ e = i@p @script:python s@ i << r.i; t; @@ coccinelle.t = i[10:]; @ok2@ declarer name module_param; expression e1,e2; position p; @@ module_param(e1,s.t@p,e2); @bad@ position p != {r.p,ok1.p,ok2.p}; identifier r.i; @@ e@i@p @depends on !bad disable optional_qualifier@ identifier r.i; @@ static +const struct kernel_param_ops i = { ... }; Signed-off-by: Gargi Sharma Reviewed-by: James Simmons Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/lustre/lnet/libcfs/debug.c b/drivers/staging/lustre/lnet/libcfs/debug.c index 3408041355e3..c56e9922cd5b 100644 --- a/drivers/staging/lustre/lnet/libcfs/debug.c +++ b/drivers/staging/lustre/lnet/libcfs/debug.c @@ -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, };