Linux Media Controller development
 help / color / mirror / Atom feed
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, &param_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, &param_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, &param_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, &param_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, &param_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, &param_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, &param_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, &param_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, &param_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