From: Jessica Yu <jeyu@kernel.org>
To: Fabien Dessenne <fabien.dessenne@st.com>
Cc: Alexey Gladkov <gladkov.alexey@gmail.com>,
Zhenzhong Duan <zhenzhong.duan@oracle.com>,
Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>,
Randy Dunlap <rdunlap@infradead.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] moduleparam: fix kerneldoc
Date: Wed, 4 Dec 2019 20:31:51 +0100 [thread overview]
Message-ID: <20191204193150.GA22824@linux-8ccs> (raw)
In-Reply-To: <1575277277-4435-1-git-send-email-fabien.dessenne@st.com>
+++ Fabien Dessenne [02/12/19 10:01 +0100]:
>Document missing @arg in xxx_param_cb().
>Describe all parameters of module_param_[named_]unsafe() and all
>*_param_cb() to make ./scripts/kernel-doc happy.
>
>Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Looks good, I'll apply this to modules-next after the merge window ends.
Thanks!
Jessica
>---
>Changes since v2: @arg not @args + fix other kernel-doc warnings
>Changes since v1: do not replace 'lvalue' with 'value'
>---
> include/linux/moduleparam.h | 82 ++++++++++++++++++++++++++++++++++++++++++---
> 1 file changed, 77 insertions(+), 5 deletions(-)
>
>diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h
>index e5c3e23..3ef917f 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)); \
>--
>2.7.4
>
prev parent reply other threads:[~2019-12-04 19:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-02 9:01 [PATCH v3] moduleparam: fix kerneldoc Fabien Dessenne
2019-12-02 22:04 ` Randy Dunlap
2019-12-04 19:31 ` Jessica Yu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191204193150.GA22824@linux-8ccs \
--to=jeyu@kernel.org \
--cc=fabien.dessenne@st.com \
--cc=gladkov.alexey@gmail.com \
--cc=glebfm@altlinux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rdunlap@infradead.org \
--cc=zhenzhong.duan@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.