diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2009-06-12 21:46:56 -0600 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2009-06-12 21:46:56 +0930 |
commit | 45fcc70c0b6ee0c508e1fdb5fef735c3546803f4 (patch) | |
tree | 15ea34cf77ecd9bbd4f78259ced012f18a26e01b /include/linux/moduleparam.h | |
parent | 9a71af2c3627b379b7c31917a7f6ee0d29bc559b (diff) | |
download | lwn-45fcc70c0b6ee0c508e1fdb5fef735c3546803f4.tar.gz lwn-45fcc70c0b6ee0c508e1fdb5fef735c3546803f4.zip |
module_param: split perm field into flags and perm
Impact: cleanup
Rather than hack KPARAM_KMALLOCED into the perm field, separate it out.
Since the perm field was 32 bits and only needs 16, we don't add bloat.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/moduleparam.h')
-rw-r--r-- | include/linux/moduleparam.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 9bbca8e8c19f..009a5f768768 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -36,9 +36,13 @@ typedef int (*param_set_fn)(const char *val, struct kernel_param *kp); /* Returns length written or -errno. Buffer is 4k (ie. be short!) */ typedef int (*param_get_fn)(char *buffer, struct kernel_param *kp); +/* Flag bits for kernel_param.flags */ +#define KPARAM_KMALLOCED 1 + struct kernel_param { const char *name; - unsigned int perm; + u16 perm; + u16 flags; param_set_fn set; param_get_fn get; union { @@ -88,7 +92,7 @@ struct kparam_array static struct kernel_param __moduleparam_const __param_##name \ __used \ __attribute__ ((unused,__section__ ("__param"),aligned(sizeof(void *)))) \ - = { __param_str_##name, perm, set, get, { arg } } + = { __param_str_##name, perm, 0, set, get, { arg } } #define module_param_call(name, set, get, arg, perm) \ __module_param_call(MODULE_PARAM_PREFIX, name, set, get, arg, perm) |