summaryrefslogtreecommitdiff
path: root/include/linux/moduleparam.h
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2009-06-12 21:46:56 -0600
committerRusty Russell <rusty@rustcorp.com.au>2009-06-12 21:46:56 +0930
commit45fcc70c0b6ee0c508e1fdb5fef735c3546803f4 (patch)
tree15ea34cf77ecd9bbd4f78259ced012f18a26e01b /include/linux/moduleparam.h
parent9a71af2c3627b379b7c31917a7f6ee0d29bc559b (diff)
downloadlwn-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.h8
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)