From: kernel test robot <lkp@intel.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-media@vger.kernel.org
Subject: [sailus-media-tree:media-ref 1/17] include/linux/moduleparam.h:163:32: error: expected ')' before ',' token
Date: Sun, 18 Oct 2026 00:47:06 +0800 [thread overview]
Message-ID: <202610180038.NjDarZVo-lkp@intel.com> (raw)
tree: git://linuxtv.org/sailus/media_tree.git media-ref
head: cf47170584526b52366e936406ce2430b99a03a9
commit: d50da12ab1df5599da158568d31337d2daeee81d [1/17] media: Add "kaboom" module parameter
config: sh-randconfig-1000-20261017 (https://download.01.org/0day-ci/archive/20261018/202610180038.NjDarZVo-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261018/202610180038.NjDarZVo-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610180038.NjDarZVo-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/module.h:23,
from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from include/linux/pci.h:38,
from drivers/media/mc/mc-device.c:19:
drivers/media/mc/mc-device.c:31:31: error: expected ';' before 'int'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~
include/linux/moduleparam.h:163:23: note: in definition of macro 'module_param_named'
163 | param_check_##type(name, &(value)); \
| ^~~~
drivers/media/mc/mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
>> include/linux/moduleparam.h:163:32: error: expected ')' before ',' token
163 | param_check_##type(name, &(value)); \
| ^
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
drivers/media/mc/mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
>> include/linux/moduleparam.h:164:32: error: 'param_ops_unsigned' undeclared here (not in a function); did you mean 'param_ops_uint'?
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~
include/linux/moduleparam.h:305:46: note: in definition of macro '__module_param_call'
305 | = { __param_str_##name, THIS_MODULE, ops, \
| ^~~
include/linux/moduleparam.h:164:9: note: in expansion of macro 'module_param_cb'
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~~~~~~
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
drivers/media/mc/mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
drivers/media/mc/mc-device.c:31:31: error: expected '}' before 'int'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~
include/linux/moduleparam.h:305:46: note: in definition of macro '__module_param_call'
305 | = { __param_str_##name, THIS_MODULE, ops, \
| ^~~
include/linux/moduleparam.h:164:9: note: in expansion of macro 'module_param_cb'
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~~~~~~
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
drivers/media/mc/mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
include/linux/moduleparam.h:305:11: note: to match this '{'
305 | = { __param_str_##name, THIS_MODULE, ops, \
| ^
include/linux/moduleparam.h:189:9: note: in expansion of macro '__module_param_call'
189 | __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
| ^~~~~~~~~~~~~~~~~~~
include/linux/moduleparam.h:164:9: note: in expansion of macro 'module_param_cb'
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~~~~~~
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
drivers/media/mc/mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
--
In file included from include/linux/module.h:23,
from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from include/linux/pci.h:38,
from mc-device.c:19:
mc-device.c:31:31: error: expected ';' before 'int'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~
include/linux/moduleparam.h:163:23: note: in definition of macro 'module_param_named'
163 | param_check_##type(name, &(value)); \
| ^~~~
mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
>> include/linux/moduleparam.h:163:32: error: expected ')' before ',' token
163 | param_check_##type(name, &(value)); \
| ^
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
>> include/linux/moduleparam.h:164:32: error: 'param_ops_unsigned' undeclared here (not in a function); did you mean 'param_ops_uint'?
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~
include/linux/moduleparam.h:305:46: note: in definition of macro '__module_param_call'
305 | = { __param_str_##name, THIS_MODULE, ops, \
| ^~~
include/linux/moduleparam.h:164:9: note: in expansion of macro 'module_param_cb'
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~~~~~~
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
mc-device.c:31:31: error: expected '}' before 'int'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~
include/linux/moduleparam.h:305:46: note: in definition of macro '__module_param_call'
305 | = { __param_str_##name, THIS_MODULE, ops, \
| ^~~
include/linux/moduleparam.h:164:9: note: in expansion of macro 'module_param_cb'
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~~~~~~
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
include/linux/moduleparam.h:305:11: note: to match this '{'
305 | = { __param_str_##name, THIS_MODULE, ops, \
| ^
include/linux/moduleparam.h:189:9: note: in expansion of macro '__module_param_call'
189 | __module_param_call(MODULE_PARAM_PREFIX, name, ops, arg, perm, -1, 0)
| ^~~~~~~~~~~~~~~~~~~
include/linux/moduleparam.h:164:9: note: in expansion of macro 'module_param_cb'
164 | module_param_cb(name, ¶m_ops_##type, &value, perm); \
| ^~~~~~~~~~~~~~~
include/linux/moduleparam.h:140:9: note: in expansion of macro 'module_param_named'
140 | module_param_named(name, name, type, perm)
| ^~~~~~~~~~~~~~~~~~
mc-device.c:31:1: note: in expansion of macro 'module_param'
31 | module_param(kaboom, unsigned int, 0077);
| ^~~~~~~~~~~~
vim +163 include/linux/moduleparam.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 113
546970bc6afc7f Rusty Russell 2010-08-11 114 /**
546970bc6afc7f Rusty Russell 2010-08-11 115 * module_param - typesafe helper for a module/cmdline parameter
e2854a1054ab17 Zhenzhong Duan 2019-11-04 116 * @name: the variable to alter, and exposed parameter name.
546970bc6afc7f Rusty Russell 2010-08-11 117 * @type: the type of the parameter
546970bc6afc7f Rusty Russell 2010-08-11 118 * @perm: visibility in sysfs.
546970bc6afc7f Rusty Russell 2010-08-11 119 *
e2854a1054ab17 Zhenzhong Duan 2019-11-04 120 * @name becomes the module parameter, or (prefixed by KBUILD_MODNAME and a
546970bc6afc7f Rusty Russell 2010-08-11 121 * ".") the kernel commandline parameter. Note that - is changed to _, so
546970bc6afc7f Rusty Russell 2010-08-11 122 * the user can use "foo-bar=1" even for variable "foo_bar".
546970bc6afc7f Rusty Russell 2010-08-11 123 *
c6a8b84da4c28b Randy Dunlap 2020-07-17 124 * @perm is 0 if the variable is not to appear in sysfs, or 0444
546970bc6afc7f Rusty Russell 2010-08-11 125 * for world-readable, 0644 for root-writable, etc. Note that if it
b51d23e4e9fea6 Dan Streetman 2015-06-17 126 * is writable, you may need to use kernel_param_lock() around
546970bc6afc7f Rusty Russell 2010-08-11 127 * accesses (esp. charp, which can be kfreed when it changes).
546970bc6afc7f Rusty Russell 2010-08-11 128 *
546970bc6afc7f Rusty Russell 2010-08-11 129 * The @type is simply pasted to refer to a param_ops_##type and a
546970bc6afc7f Rusty Russell 2010-08-11 130 * param_check_##type: for convenience many standard types are provided but
546970bc6afc7f Rusty Russell 2010-08-11 131 * you can create your own by defining those variables.
546970bc6afc7f Rusty Russell 2010-08-11 132 *
546970bc6afc7f Rusty Russell 2010-08-11 133 * Standard types are:
7d8365771ffb0e Paul Menzel 2020-07-03 134 * byte, hexint, short, ushort, int, uint, long, ulong
546970bc6afc7f Rusty Russell 2010-08-11 135 * charp: a character pointer
546970bc6afc7f Rusty Russell 2010-08-11 136 * bool: a bool, values 0/1, y/n, Y/N.
546970bc6afc7f Rusty Russell 2010-08-11 137 * invbool: the above, only sense-reversed (N = true).
546970bc6afc7f Rusty Russell 2010-08-11 138 */
546970bc6afc7f Rusty Russell 2010-08-11 139 #define module_param(name, type, perm) \
546970bc6afc7f Rusty Russell 2010-08-11 140 module_param_named(name, name, type, perm)
546970bc6afc7f Rusty Russell 2010-08-11 141
3baee201b06cfa Jani Nikula 2014-08-27 142 /**
3baee201b06cfa Jani Nikula 2014-08-27 143 * module_param_unsafe - same as module_param but taints kernel
b6d0531ec7e2ae Fabien Dessenne 2019-12-02 144 * @name: the variable to alter, and exposed parameter name.
b6d0531ec7e2ae Fabien Dessenne 2019-12-02 145 * @type: the type of the parameter
b6d0531ec7e2ae Fabien Dessenne 2019-12-02 146 * @perm: visibility in sysfs.
3baee201b06cfa Jani Nikula 2014-08-27 147 */
3baee201b06cfa Jani Nikula 2014-08-27 148 #define module_param_unsafe(name, type, perm) \
3baee201b06cfa Jani Nikula 2014-08-27 149 module_param_named_unsafe(name, name, type, perm)
3baee201b06cfa Jani Nikula 2014-08-27 150
546970bc6afc7f Rusty Russell 2010-08-11 151 /**
546970bc6afc7f Rusty Russell 2010-08-11 152 * module_param_named - typesafe helper for a renamed module/cmdline parameter
546970bc6afc7f Rusty Russell 2010-08-11 153 * @name: a valid C identifier which is the parameter name.
546970bc6afc7f Rusty Russell 2010-08-11 154 * @value: the actual lvalue to alter.
546970bc6afc7f Rusty Russell 2010-08-11 155 * @type: the type of the parameter
546970bc6afc7f Rusty Russell 2010-08-11 156 * @perm: visibility in sysfs.
546970bc6afc7f Rusty Russell 2010-08-11 157 *
546970bc6afc7f Rusty Russell 2010-08-11 158 * Usually it's a good idea to have variable names and user-exposed names the
546970bc6afc7f Rusty Russell 2010-08-11 159 * same, but that's harder if the variable must be non-static or is inside a
546970bc6afc7f Rusty Russell 2010-08-11 160 * structure. This allows exposure under a different name.
546970bc6afc7f Rusty Russell 2010-08-11 161 */
546970bc6afc7f Rusty Russell 2010-08-11 162 #define module_param_named(name, value, type, perm) \
546970bc6afc7f Rusty Russell 2010-08-11 @163 param_check_##type(name, &(value)); \
546970bc6afc7f Rusty Russell 2010-08-11 @164 module_param_cb(name, ¶m_ops_##type, &value, perm); \
546970bc6afc7f Rusty Russell 2010-08-11 165 __MODULE_PARM_TYPE(name, #type)
546970bc6afc7f Rusty Russell 2010-08-11 166
:::::: The code at line 163 was first introduced by commit
:::::: 546970bc6afc7fb37447fbac09b82c7884662c21 param: add kerneldoc to moduleparam.h
:::::: TO: Rusty Russell <rusty@rustcorp.com.au>
:::::: CC: Rusty Russell <rusty@rustcorp.com.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-10-17 16:47 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202610180038.NjDarZVo-lkp@intel.com \
--to=lkp@intel.com \
--cc=linux-media@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=sakari.ailus@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox