diff options
Diffstat (limited to 'include/linux/moduleparam.h')
-rw-r--r-- | include/linux/moduleparam.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 27d9da3f86ff..c3eb102a9cc8 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h | |||
@@ -36,7 +36,18 @@ static const char __UNIQUE_ID(name)[] \ | |||
36 | 36 | ||
37 | struct kernel_param; | 37 | struct kernel_param; |
38 | 38 | ||
39 | /* | ||
40 | * Flags available for kernel_param_ops | ||
41 | * | ||
42 | * NOARG - the parameter allows for no argument (foo instead of foo=1) | ||
43 | */ | ||
44 | enum { | ||
45 | KERNEL_PARAM_FL_NOARG = (1 << 0) | ||
46 | }; | ||
47 | |||
39 | struct kernel_param_ops { | 48 | struct kernel_param_ops { |
49 | /* How the ops should behave */ | ||
50 | unsigned int flags; | ||
40 | /* Returns 0, or -errno. arg is in kp->arg. */ | 51 | /* Returns 0, or -errno. arg is in kp->arg. */ |
41 | int (*set)(const char *val, const struct kernel_param *kp); | 52 | int (*set)(const char *val, const struct kernel_param *kp); |
42 | /* Returns length written or -errno. Buffer is 4k (ie. be short!) */ | 53 | /* Returns length written or -errno. Buffer is 4k (ie. be short!) */ |
@@ -187,7 +198,7 @@ struct kparam_array | |||
187 | /* Obsolete - use module_param_cb() */ | 198 | /* Obsolete - use module_param_cb() */ |
188 | #define module_param_call(name, set, get, arg, perm) \ | 199 | #define module_param_call(name, set, get, arg, perm) \ |
189 | static struct kernel_param_ops __param_ops_##name = \ | 200 | static struct kernel_param_ops __param_ops_##name = \ |
190 | { (void *)set, (void *)get }; \ | 201 | { 0, (void *)set, (void *)get }; \ |
191 | __module_param_call(MODULE_PARAM_PREFIX, \ | 202 | __module_param_call(MODULE_PARAM_PREFIX, \ |
192 | name, &__param_ops_##name, arg, \ | 203 | name, &__param_ops_##name, arg, \ |
193 | (perm) + sizeof(__check_old_set_param(set))*0, -1) | 204 | (perm) + sizeof(__check_old_set_param(set))*0, -1) |