3.0-rc3: new sparse noise on module_param_named: "error: Syntaxerror in unary expression"

From: Stefan Richter
Date: Tue Jun 21 2011 - 10:31:01 EST


Hi,

make C=1 in 3.0-rc3 but not in 2.6.39 complains:

CHECK drivers/firewire/ohci.c
drivers/firewire/ohci.c:308:1: error: Syntax error in unary expression
drivers/firewire/ohci.c:325:1: error: Syntax error in unary expression
CC [M] drivers/firewire/ohci.o
CHECK drivers/firewire/sbp2.c
drivers/firewire/sbp2.c:70:1: error: Syntax error in unary expression
drivers/firewire/sbp2.c:116:1: error: Syntax error in unary expression
CC [M] drivers/firewire/sbp2.o

These lines are the module_param_named lines of:

static int param_quirks;
module_param_named(quirks, param_quirks, int, 0644);
MODULE_PARM_DESC(quirks, "Chip quirks (default = 0"
[...]
static int param_debug;
module_param_named(debug, param_debug, int, 0644);
MODULE_PARM_DESC(debug, "Verbose logging (default = 0"
[...]

and

static int sbp2_param_exclusive_login = 1;
module_param_named(exclusive_login, sbp2_param_exclusive_login, bool, 0644);
MODULE_PARM_DESC(exclusive_login, "Exclusive login to sbp2 device "
[...]
static int sbp2_param_workarounds;
module_param_named(workarounds, sbp2_param_workarounds, int, 0644);
MODULE_PARM_DESC(workarounds, "Work around device bugs (default = 0"
[...]

Seen with an older version of sparse (perhaps 0.4.2) and the current from
sparse.git (0.4.3 plus 13 commmits).

There is only a single change to the kernel's include/linux/moduleparam.h
after v2.6.39, "module: reorder kparam_array to remove alignment padding
on 64 bit builds", and that one is apparently not the cause of the noise.

Puzzled,
--
Stefan Richter
-=====-==-== -==- =-=-=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/