module: Add flag to allow mod params to have no arguments
[linux-2.6-block.git] / include / linux / moduleparam.h
index 27d9da3f86ffe91c9d06aa3dc779902adbc620ad..c3eb102a9cc81d8ed97f11deb9584aa71830b1c5 100644 (file)
@@ -36,7 +36,18 @@ static const char __UNIQUE_ID(name)[]                                          \
 
 struct kernel_param;
 
+/*
+ * Flags available for kernel_param_ops
+ *
+ * NOARG - the parameter allows for no argument (foo instead of foo=1)
+ */
+enum {
+       KERNEL_PARAM_FL_NOARG = (1 << 0)
+};
+
 struct kernel_param_ops {
+       /* How the ops should behave */
+       unsigned int flags;
        /* Returns 0, or -errno.  arg is in kp->arg. */
        int (*set)(const char *val, const struct kernel_param *kp);
        /* Returns length written or -errno.  Buffer is 4k (ie. be short!) */
@@ -187,7 +198,7 @@ struct kparam_array
 /* Obsolete - use module_param_cb() */
 #define module_param_call(name, set, get, arg, perm)                   \
        static struct kernel_param_ops __param_ops_##name =             \
-                { (void *)set, (void *)get };                          \
+               { 0, (void *)set, (void *)get };                        \
        __module_param_call(MODULE_PARAM_PREFIX,                        \
                            name, &__param_ops_##name, arg,             \
                            (perm) + sizeof(__check_old_set_param(set))*0, -1)