Re: [PATCH] staging: fwserial: replace 'a' with '(a)' to avoid precedence issues

From: kbuild test robot
Date: Tue Feb 14 2017 - 16:17:45 EST


Hi Arushi,

[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v4.10-rc8 next-20170214]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Arushi-Singhal/staging-fwserial-replace-a-with-a-to-avoid-precedence-issues/20170215-020955
config: m68k-allyesconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 4.9.0
reproduce:
wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=m68k

All error/warnings (new ones prefixed by >>):

drivers/staging/fwserial/fwserial.c:101:19: error: "(" may not appear in macro parameter list
#define to_device((a), b) (a->b)
^
In file included from include/linux/device.h:27:0,
from drivers/staging/fwserial/fwserial.c:21:
drivers/staging/fwserial/fwserial.c: In function 'fwtty_log_tx_error':
>> include/linux/ratelimit.h:36:9: error: implicit declaration of function 'to_device' [-Werror=implicit-function-declaration]
struct ratelimit_state name = \
^
>> include/linux/device.h:1360:9: note: in expansion of macro 'DEFINE_RATELIMIT_STATE'
static DEFINE_RATELIMIT_STATE(_rs, \
^
>> include/linux/device.h:1374:2: note: in expansion of macro 'dev_level_ratelimited'
dev_level_ratelimited(dev_err, dev, fmt, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:111:2: note: in expansion of macro 'dev_err_ratelimited'
dev_err_ratelimited(to_device(p, device), fmt, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:201:3: note: in expansion of macro 'fwtty_err_ratelimited'
fwtty_err_ratelimited(port, "card busy\n");
^
In file included from drivers/staging/fwserial/fwserial.c:21:0:
drivers/staging/fwserial/fwserial.c:111:35: error: 'device' undeclared (first use in this function)
dev_err_ratelimited(to_device(p, device), fmt, ##__VA_ARGS__)
^
include/linux/device.h:1364:13: note: in definition of macro 'dev_level_ratelimited'
dev_level(dev, fmt, ##__VA_ARGS__); \
^
drivers/staging/fwserial/fwserial.c:111:2: note: in expansion of macro 'dev_err_ratelimited'
dev_err_ratelimited(to_device(p, device), fmt, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:201:3: note: in expansion of macro 'fwtty_err_ratelimited'
fwtty_err_ratelimited(port, "card busy\n");
^
drivers/staging/fwserial/fwserial.c:111:35: note: each undeclared identifier is reported only once for each function it appears in
dev_err_ratelimited(to_device(p, device), fmt, ##__VA_ARGS__)
^
include/linux/device.h:1364:13: note: in definition of macro 'dev_level_ratelimited'
dev_level(dev, fmt, ##__VA_ARGS__); \
^
drivers/staging/fwserial/fwserial.c:111:2: note: in expansion of macro 'dev_err_ratelimited'
dev_err_ratelimited(to_device(p, device), fmt, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:201:3: note: in expansion of macro 'fwtty_err_ratelimited'
fwtty_err_ratelimited(port, "card busy\n");
^
In file included from include/linux/printk.h:320:0,
from include/linux/kernel.h:13,
from include/linux/sched.h:17,
from drivers/staging/fwserial/fwserial.c:19:
drivers/staging/fwserial/fwserial.c: In function '__fwtty_restart_tx':
drivers/staging/fwserial/fwserial.c:109:23: error: 'device' undeclared (first use in this function)
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
include/linux/dynamic_debug.h:134:34: note: in definition of macro 'dynamic_dev_dbg'
__dynamic_dev_dbg(&descriptor, dev, fmt, \
^
drivers/staging/fwserial/fwserial.c:109:2: note: in expansion of macro 'dev_dbg'
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:290:2: note: in expansion of macro 'fwtty_dbg'
fwtty_dbg(port, "fifo len: %d avail: %d\n", len, avail);
^
drivers/staging/fwserial/fwserial.c: In function 'fwtty_update_port_status':
drivers/staging/fwserial/fwserial.c:109:23: error: 'device' undeclared (first use in this function)
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
include/linux/dynamic_debug.h:134:34: note: in definition of macro 'dynamic_dev_dbg'
__dynamic_dev_dbg(&descriptor, dev, fmt, \
^
drivers/staging/fwserial/fwserial.c:109:2: note: in expansion of macro 'dev_dbg'
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:327:2: note: in expansion of macro 'fwtty_dbg'
fwtty_dbg(port, "status: %x delta: %x\n", status, delta);
^
drivers/staging/fwserial/fwserial.c: In function 'fwtty_emit_breaks':
drivers/staging/fwserial/fwserial.c:109:23: error: 'device' undeclared (first use in this function)
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
include/linux/dynamic_debug.h:134:34: note: in definition of macro 'dynamic_dev_dbg'
__dynamic_dev_dbg(&descriptor, dev, fmt, \
^
drivers/staging/fwserial/fwserial.c:109:2: note: in expansion of macro 'dev_dbg'
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:523:2: note: in expansion of macro 'fwtty_dbg'
fwtty_dbg(port, "sending %d brks\n", n);
^
drivers/staging/fwserial/fwserial.c: In function 'fwtty_rx':
drivers/staging/fwserial/fwserial.c:109:23: error: 'device' undeclared (first use in this function)
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
include/linux/dynamic_debug.h:134:34: note: in definition of macro 'dynamic_dev_dbg'
__dynamic_dev_dbg(&descriptor, dev, fmt, \
^
drivers/staging/fwserial/fwserial.c:109:2: note: in expansion of macro 'dev_dbg'
dev_dbg(to_device(p, device), "%s: " fmt, __func__, ##__VA_ARGS__)
^
drivers/staging/fwserial/fwserial.c:547:2: note: in expansion of macro 'fwtty_dbg'
fwtty_dbg(port, "%d\n", n);
^
In file included from drivers/staging/fwserial/fwserial.c:21:0:
drivers/staging/fwserial/fwserial.c: In function 'fwtty_port_handler':
drivers/staging/fwserial/fwserial.c:111:35: error: 'device' undeclared (first use in this function)
dev_err_ratelimited(to_device(p, device), fmt, ##__VA_ARGS__)
^
include/linux/device.h:1364:13: note: in definition of macro 'dev_level_ratelimited'
dev_level(dev, fmt, ##__VA_ARGS__); \
^
drivers/staging/fwserial/fwserial.c:111:2: note: in expansion of macro 'dev_err_ratelimited'
dev_err_ratelimited(to_device(p, device), fmt, ##__VA_ARGS__)
^

vim +/to_device +36 include/linux/ratelimit.h

717115e1 Dave Young 2008-07-25 30
89e3f909 Dmitry Monakhov 2014-12-12 31 #define RATELIMIT_STATE_INIT_DISABLED \
89e3f909 Dmitry Monakhov 2014-12-12 32 RATELIMIT_STATE_INIT(ratelimit_state, 0, DEFAULT_RATELIMIT_BURST)
89e3f909 Dmitry Monakhov 2014-12-12 33
89e3f909 Dmitry Monakhov 2014-12-12 34 #define DEFINE_RATELIMIT_STATE(name, interval_init, burst_init) \
89e3f909 Dmitry Monakhov 2014-12-12 35 \
89e3f909 Dmitry Monakhov 2014-12-12 @36 struct ratelimit_state name = \
89e3f909 Dmitry Monakhov 2014-12-12 37 RATELIMIT_STATE_INIT(name, interval_init, burst_init) \
89e3f909 Dmitry Monakhov 2014-12-12 38
f40c396a OGAWA Hirofumi 2010-05-24 39 static inline void ratelimit_state_init(struct ratelimit_state *rs,

:::::: The code at line 36 was first introduced by commit
:::::: 89e3f90995b370fa46922eece62ea23f039a202d ratelimit: add initialization macro

:::::: TO: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip