aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/moduleparam.h
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@suse.com>2015-05-26 21:39:38 -0400
committerRusty Russell <rusty@rustcorp.com.au>2015-05-27 22:02:10 -0400
commit9c27847dda9cfae7c273cde62becf364f9fa9ea3 (patch)
treefe0bcaa54807ea65b32f832f0b8afa970a803861 /include/linux/moduleparam.h
parent28b8d0c8f560300836dff352348e513cdf328e50 (diff)
kernel/params: constify struct kernel_param_ops uses
Most code already uses consts for the struct kernel_param_ops, sweep the kernel for the last offending stragglers. Other than include/linux/moduleparam.h and kernel/params.c all other changes were generated with the following Coccinelle SmPL patch. Merge conflicts between trees can be handled with Coccinelle. In the future git could get Coccinelle merge support to deal with patch --> fail --> grammar --> Coccinelle --> new patch conflicts automatically for us on patches where the grammar is available and the patch is of high confidence. Consider this a feature request. Test compiled on x86_64 against: * allnoconfig * allmodconfig * allyesconfig @ const_found @ identifier ops; @@ const struct kernel_param_ops ops = { }; @ const_not_found depends on !const_found @ identifier ops; @@ -struct kernel_param_ops ops = { +const struct kernel_param_ops ops = { }; Generated-by: Coccinelle SmPL Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Junio C Hamano <gitster@pobox.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Kees Cook <keescook@chromium.org> Cc: Tejun Heo <tj@kernel.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: cocci@systeme.lip6.fr Cc: linux-kernel@vger.kernel.org Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/moduleparam.h')
-rw-r--r--include/linux/moduleparam.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
index 1c9effa25e26..5d0f4d97997f 100644
--- a/include/linux/moduleparam.h
+++ b/include/linux/moduleparam.h
@@ -225,7 +225,7 @@ struct kparam_array
225 225
226/* Obsolete - use module_param_cb() */ 226/* Obsolete - use module_param_cb() */
227#define module_param_call(name, set, get, arg, perm) \ 227#define module_param_call(name, set, get, arg, perm) \
228 static struct kernel_param_ops __param_ops_##name = \ 228 static const struct kernel_param_ops __param_ops_##name = \
229 { .flags = 0, (void *)set, (void *)get }; \ 229 { .flags = 0, (void *)set, (void *)get }; \
230 __module_param_call(MODULE_PARAM_PREFIX, \ 230 __module_param_call(MODULE_PARAM_PREFIX, \
231 name, &__param_ops_##name, arg, \ 231 name, &__param_ops_##name, arg, \
@@ -376,64 +376,64 @@ static inline void destroy_params(const struct kernel_param *params,
376#define __param_check(name, p, type) \ 376#define __param_check(name, p, type) \
377 static inline type __always_unused *__check_##name(void) { return(p); } 377 static inline type __always_unused *__check_##name(void) { return(p); }
378 378
379extern struct kernel_param_ops param_ops_byte; 379extern const struct kernel_param_ops param_ops_byte;
380extern int param_set_byte(const char *val, const struct kernel_param *kp); 380extern int param_set_byte(const char *val, const struct kernel_param *kp);
381extern int param_get_byte(char *buffer, const struct kernel_param *kp); 381extern int param_get_byte(char *buffer, const struct kernel_param *kp);
382#define param_check_byte(name, p) __param_check(name, p, unsigned char) 382#define param_check_byte(name, p) __param_check(name, p, unsigned char)
383 383
384extern struct kernel_param_ops param_ops_short; 384extern const struct kernel_param_ops param_ops_short;
385extern int param_set_short(const char *val, const struct kernel_param *kp); 385extern int param_set_short(const char *val, const struct kernel_param *kp);
386extern int param_get_short(char *buffer, const struct kernel_param *kp); 386extern int param_get_short(char *buffer, const struct kernel_param *kp);
387#define param_check_short(name, p) __param_check(name, p, short) 387#define param_check_short(name, p) __param_check(name, p, short)
388 388
389extern struct kernel_param_ops param_ops_ushort; 389extern const struct kernel_param_ops param_ops_ushort;
390extern int param_set_ushort(const char *val, const struct kernel_param *kp); 390extern int param_set_ushort(const char *val, const struct kernel_param *kp);
391extern int param_get_ushort(char *buffer, const struct kernel_param *kp); 391extern int param_get_ushort(char *buffer, const struct kernel_param *kp);
392#define param_check_ushort(name, p) __param_check(name, p, unsigned short) 392#define param_check_ushort(name, p) __param_check(name, p, unsigned short)
393 393
394extern struct kernel_param_ops param_ops_int; 394extern const struct kernel_param_ops param_ops_int;
395extern int param_set_int(const char *val, const struct kernel_param *kp); 395extern int param_set_int(const char *val, const struct kernel_param *kp);
396extern int param_get_int(char *buffer, const struct kernel_param *kp); 396extern int param_get_int(char *buffer, const struct kernel_param *kp);
397#define param_check_int(name, p) __param_check(name, p, int) 397#define param_check_int(name, p) __param_check(name, p, int)
398 398
399extern struct kernel_param_ops param_ops_uint; 399extern const struct kernel_param_ops param_ops_uint;
400extern int param_set_uint(const char *val, const struct kernel_param *kp); 400extern int param_set_uint(const char *val, const struct kernel_param *kp);
401extern int param_get_uint(char *buffer, const struct kernel_param *kp); 401extern int param_get_uint(char *buffer, const struct kernel_param *kp);
402#define param_check_uint(name, p) __param_check(name, p, unsigned int) 402#define param_check_uint(name, p) __param_check(name, p, unsigned int)
403 403
404extern struct kernel_param_ops param_ops_long; 404extern const struct kernel_param_ops param_ops_long;
405extern int param_set_long(const char *val, const struct kernel_param *kp); 405extern int param_set_long(const char *val, const struct kernel_param *kp);
406extern int param_get_long(char *buffer, const struct kernel_param *kp); 406extern int param_get_long(char *buffer, const struct kernel_param *kp);
407#define param_check_long(name, p) __param_check(name, p, long) 407#define param_check_long(name, p) __param_check(name, p, long)
408 408
409extern struct kernel_param_ops param_ops_ulong; 409extern const struct kernel_param_ops param_ops_ulong;
410extern int param_set_ulong(const char *val, const struct kernel_param *kp); 410extern int param_set_ulong(const char *val, const struct kernel_param *kp);
411extern int param_get_ulong(char *buffer, const struct kernel_param *kp); 411extern int param_get_ulong(char *buffer, const struct kernel_param *kp);
412#define param_check_ulong(name, p) __param_check(name, p, unsigned long) 412#define param_check_ulong(name, p) __param_check(name, p, unsigned long)
413 413
414extern struct kernel_param_ops param_ops_ullong; 414extern const struct kernel_param_ops param_ops_ullong;
415extern int param_set_ullong(const char *val, const struct kernel_param *kp); 415extern int param_set_ullong(const char *val, const struct kernel_param *kp);
416extern int param_get_ullong(char *buffer, const struct kernel_param *kp); 416extern int param_get_ullong(char *buffer, const struct kernel_param *kp);
417#define param_check_ullong(name, p) __param_check(name, p, unsigned long long) 417#define param_check_ullong(name, p) __param_check(name, p, unsigned long long)
418 418
419extern struct kernel_param_ops param_ops_charp; 419extern const struct kernel_param_ops param_ops_charp;
420extern int param_set_charp(const char *val, const struct kernel_param *kp); 420extern int param_set_charp(const char *val, const struct kernel_param *kp);
421extern int param_get_charp(char *buffer, const struct kernel_param *kp); 421extern int param_get_charp(char *buffer, const struct kernel_param *kp);
422#define param_check_charp(name, p) __param_check(name, p, char *) 422#define param_check_charp(name, p) __param_check(name, p, char *)
423 423
424/* We used to allow int as well as bool. We're taking that away! */ 424/* We used to allow int as well as bool. We're taking that away! */
425extern struct kernel_param_ops param_ops_bool; 425extern const struct kernel_param_ops param_ops_bool;
426extern int param_set_bool(const char *val, const struct kernel_param *kp); 426extern int param_set_bool(const char *val, const struct kernel_param *kp);
427extern int param_get_bool(char *buffer, const struct kernel_param *kp); 427extern int param_get_bool(char *buffer, const struct kernel_param *kp);
428#define param_check_bool(name, p) __param_check(name, p, bool) 428#define param_check_bool(name, p) __param_check(name, p, bool)
429 429
430extern struct kernel_param_ops param_ops_invbool; 430extern const struct kernel_param_ops param_ops_invbool;
431extern int param_set_invbool(const char *val, const struct kernel_param *kp); 431extern int param_set_invbool(const char *val, const struct kernel_param *kp);
432extern int param_get_invbool(char *buffer, const struct kernel_param *kp); 432extern int param_get_invbool(char *buffer, const struct kernel_param *kp);
433#define param_check_invbool(name, p) __param_check(name, p, bool) 433#define param_check_invbool(name, p) __param_check(name, p, bool)
434 434
435/* An int, which can only be set like a bool (though it shows as an int). */ 435/* An int, which can only be set like a bool (though it shows as an int). */
436extern struct kernel_param_ops param_ops_bint; 436extern const struct kernel_param_ops param_ops_bint;
437extern int param_set_bint(const char *val, const struct kernel_param *kp); 437extern int param_set_bint(const char *val, const struct kernel_param *kp);
438#define param_get_bint param_get_int 438#define param_get_bint param_get_int
439#define param_check_bint param_check_int 439#define param_check_bint param_check_int
@@ -477,9 +477,9 @@ extern int param_set_bint(const char *val, const struct kernel_param *kp);
477 perm, -1, 0); \ 477 perm, -1, 0); \
478 __MODULE_PARM_TYPE(name, "array of " #type) 478 __MODULE_PARM_TYPE(name, "array of " #type)
479 479
480extern struct kernel_param_ops param_array_ops; 480extern const struct kernel_param_ops param_array_ops;
481 481
482extern struct kernel_param_ops param_ops_string; 482extern const struct kernel_param_ops param_ops_string;
483extern int param_set_copystring(const char *val, const struct kernel_param *); 483extern int param_set_copystring(const char *val, const struct kernel_param *);
484extern int param_get_string(char *buffer, const struct kernel_param *kp); 484extern int param_get_string(char *buffer, const struct kernel_param *kp);
485 485