diff options
| author | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2020-02-25 20:29:58 +0300 |
|---|---|---|
| committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2020-02-25 20:39:23 +0300 |
| commit | ff36e78fdb251b9fa65028554689806961e011eb (patch) | |
| tree | f5af925d509224e06a10936196be6c06bcbdc6ae /include/linux/moduleparam.h | |
| parent | 143d9c3e7b6aa2b785abba04266ed75f2b52e94a (diff) | |
| parent | 1b245ec5b685ebf8e6e5d1e6b5bcc03b6608e8b0 (diff) | |
| download | linux-ff36e78fdb251b9fa65028554689806961e011eb.tar.xz | |
Merge drm/drm-next into drm-intel-next-queued
Some DSI and VBT pending patches from Hans will apply
cleanly and with less ugly conflicts if they are rebuilt
on top of other patches that recently landed on drm-next.
Reference: https://patchwork.freedesktop.org/series/70952/
Cc: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com
Diffstat (limited to 'include/linux/moduleparam.h')
| -rw-r--r-- | include/linux/moduleparam.h | 82 |
1 files changed, 77 insertions, 5 deletions
diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index e5c3e23919b8..3ef917ff0964 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -128,6 +128,9 @@ struct kparam_array /** * module_param_unsafe - same as module_param but taints kernel + * @name: the variable to alter, and exposed parameter name. + * @type: the type of the parameter + * @perm: visibility in sysfs. */ #define module_param_unsafe(name, type, perm) \ module_param_named_unsafe(name, name, type, perm) @@ -150,6 +153,10 @@ struct kparam_array /** * module_param_named_unsafe - same as module_param_named but taints kernel + * @name: a valid C identifier which is the parameter name. + * @value: the actual lvalue to alter. + * @type: the type of the parameter + * @perm: visibility in sysfs. */ #define module_param_named_unsafe(name, value, type, perm) \ param_check_##type(name, &(value)); \ @@ -160,6 +167,7 @@ struct kparam_array * module_param_cb - general callback for a module/cmdline parameter * @name: a valid C identifier which is the parameter name. * @ops: the set & get operations for this parameter. + * @arg: args for @ops * @perm: visibility in sysfs. * * The ops can have NULL set or get functions. @@ -171,36 +179,96 @@ struct kparam_array __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, \ KERNEL_PARAM_FL_UNSAFE) +#define __level_param_cb(name, ops, arg, perm, level) \ + __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, level, 0) /** - * <level>_param_cb - general callback for a module/cmdline parameter - * to be evaluated before certain initcall level + * core_param_cb - general callback for a module/cmdline parameter + * to be evaluated before core initcall level * @name: a valid C identifier which is the parameter name. * @ops: the set & get operations for this parameter. + * @arg: args for @ops * @perm: visibility in sysfs. * * The ops can have NULL set or get functions. */ -#define __level_param_cb(name, ops, arg, perm, level) \ - __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, level, 0) - #define core_param_cb(name, ops, arg, perm) \ __level_param_cb(name, ops, arg, perm, 1) +/** + * postcore_param_cb - general callback for a module/cmdline parameter + * to be evaluated before postcore initcall level + * @name: a valid C identifier which is the parameter name. + * @ops: the set & get operations for this parameter. + * @arg: args for @ops + * @perm: visibility in sysfs. + * + * The ops can have NULL set or get functions. + */ #define postcore_param_cb(name, ops, arg, perm) \ __level_param_cb(name, ops, arg, perm, 2) +/** + * arch_param_cb - general callback for a module/cmdline parameter + * to be evaluated before arch initcall level + * @name: a valid C identifier which is the parameter name. + * @ops: the set & get operations for this parameter. + * @arg: args for @ops + * @perm: visibility in sysfs. + * + * The ops can have NULL set or get functions. + */ #define arch_param_cb(name, ops, arg, perm) \ __level_param_cb(name, ops, arg, perm, 3) +/** + * subsys_param_cb - general callback for a module/cmdline parameter + * to be evaluated before subsys initcall level + * @name: a valid C identifier which is the parameter name. + * @ops: the set & get operations for this parameter. + * @arg: args for @ops + * @perm: visibility in sysfs. + * + * The ops can have NULL set or get functions. + */ #define subsys_param_cb(name, ops, arg, perm) \ __level_param_cb(name, ops, arg, perm, 4) +/** + * fs_param_cb - general callback for a module/cmdline parameter + * to be evaluated before fs initcall level + * @name: a valid C identifier which is the parameter name. + * @ops: the set & get operations for this parameter. + * @arg: args for @ops + * @perm: visibility in sysfs. + * + * The ops can have NULL set or get functions. + */ #define fs_param_cb(name, ops, arg, perm) \ __level_param_cb(name, ops, arg, perm, 5) +/** + * device_param_cb - general callback for a module/cmdline parameter + * to be evaluated before device initcall level + * @name: a valid C identifier which is the parameter name. + * @ops: the set & get operations for this parameter. + * @arg: args for @ops + * @perm: visibility in sysfs. + * + * The ops can have NULL set or get functions. + */ #define device_param_cb(name, ops, arg, perm) \ __level_param_cb(name, ops, arg, perm, 6) +/** + * late_param_cb - general callback for a module/cmdline parameter + * to be evaluated before late initcall level + * @name: a valid C identifier which is the parameter name. + * @ops: the set & get operations for this parameter. + * @arg: args for @ops + * @perm: visibility in sysfs. + * + * The ops can have NULL set or get functions. + */ #define late_param_cb(name, ops, arg, perm) \ __level_param_cb(name, ops, arg, perm, 7) @@ -263,6 +331,10 @@ static inline void kernel_param_unlock(struct module *mod) /** * core_param_unsafe - same as core_param but taints kernel + * @name: the name of the cmdline and sysfs parameter (often the same as var) + * @var: the variable + * @type: the type of the parameter + * @perm: visibility in sysfs */ #define core_param_unsafe(name, var, type, perm) \ param_check_##type(name, &(var)); \ |
