Re: [PATCH v2] NTB: ntb_tool: Add full multi-port NTB API support

From: kbuild test robot
Date: Sun Dec 03 2017 - 04:46:01 EST


Hi Serge,

I love your patch! Yet something to improve:

[auto build test ERROR on v4.15-rc1]
[cannot apply to ntb/ntb-next next-20171201]
[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/Serge-Semin/NTB-ntb_tool-Add-full-multi-port-NTB-API-support/20171203-171239
config: x86_64-randconfig-x012-201749 (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

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

drivers/ntb/test/ntb_tool.c: In function 'tool_inmsg_read':
>> drivers/ntb/test/ntb_tool.c:1276:36: warning: passing argument 2 of 'ntb_msg_read' makes integer from pointer without a cast [-Wint-conversion]
data = ntb_msg_read(msg->tc->ntb, &pidx, msg->midx);
^
In file included from drivers/ntb/test/ntb_tool.c:193:0:
include/linux/ntb.h:1473:19: note: expected 'int' but argument is of type 'int *'
static inline int ntb_msg_read(struct ntb_dev *ntb, int midx, int *pidx,
^~~~~~~~~~~~
>> drivers/ntb/test/ntb_tool.c:1276:43: warning: passing argument 3 of 'ntb_msg_read' makes pointer from integer without a cast [-Wint-conversion]
data = ntb_msg_read(msg->tc->ntb, &pidx, msg->midx);
^~~
In file included from drivers/ntb/test/ntb_tool.c:193:0:
include/linux/ntb.h:1473:19: note: expected 'int *' but argument is of type 'int'
static inline int ntb_msg_read(struct ntb_dev *ntb, int midx, int *pidx,
^~~~~~~~~~~~
>> drivers/ntb/test/ntb_tool.c:1276:9: error: too few arguments to function 'ntb_msg_read'
data = ntb_msg_read(msg->tc->ntb, &pidx, msg->midx);
^~~~~~~~~~~~
In file included from drivers/ntb/test/ntb_tool.c:193:0:
include/linux/ntb.h:1473:19: note: declared here
static inline int ntb_msg_read(struct ntb_dev *ntb, int midx, int *pidx,
^~~~~~~~~~~~
drivers/ntb/test/ntb_tool.c: In function 'tool_outmsg_write':
>> drivers/ntb/test/ntb_tool.c:1299:8: error: implicit declaration of function 'ntb_peer_msg_write'; did you mean 'ntb_peer_spad_write'? [-Werror=implicit-function-declaration]
ret = ntb_peer_msg_write(msg->tc->ntb, msg->pidx, msg->midx, val);
^~~~~~~~~~~~~~~~~~
ntb_peer_spad_write
In file included from include/linux/init.h:5:0,
from drivers/ntb/test/ntb_tool.c:183:
drivers/ntb/test/ntb_tool.c: At top level:
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'strcpy' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:422:2: note: in expansion of macro 'if'
if (p_size == (size_t)-1 && q_size == (size_t)-1)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:412:2: note: in expansion of macro 'if'
if (p_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'kmemdup' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:410:2: note: in expansion of macro 'if'
if (__builtin_constant_p(size) && p_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:401:2: note: in expansion of macro 'if'
if (p_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memchr_inv' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:399:2: note: in expansion of macro 'if'
if (__builtin_constant_p(size) && p_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memchr' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:390:2: note: in expansion of macro 'if'
if (p_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memchr' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:388:2: note: in expansion of macro 'if'
if (__builtin_constant_p(size) && p_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:380:2: note: in expansion of macro 'if'
if (p_size < size || q_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:377:3: note: in expansion of macro 'if'
if (q_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
include/linux/string.h:375:3: note: in expansion of macro 'if'
if (p_size < size)
^~
include/linux/compiler.h:64:4: warning: '______f' is static but declared in inline function 'memcmp' which is not static
______f = { \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'

vim +/ntb_msg_read +1276 drivers/ntb/test/ntb_tool.c

1261
1262 /*==============================================================================
1263 * Messages read/write methods
1264 *==============================================================================
1265 */
1266
1267 static ssize_t tool_inmsg_read(struct file *filep, char __user *ubuf,
1268 size_t size, loff_t *offp)
1269 {
1270 struct tool_msg *msg = filep->private_data;
1271 char buf[32];
1272 ssize_t pos;
1273 u32 data;
1274 int pidx;
1275
> 1276 data = ntb_msg_read(msg->tc->ntb, &pidx, msg->midx);
1277
1278 pos = scnprintf(buf, sizeof(buf), "0x%08x<-%d\n", data, pidx);
1279
1280 return simple_read_from_buffer(ubuf, size, offp, buf, pos);
1281 }
1282
1283 static TOOL_FOPS_RDWR(tool_inmsg_fops,
1284 tool_inmsg_read,
1285 NULL);
1286
1287 static ssize_t tool_outmsg_write(struct file *filep,
1288 const char __user *ubuf,
1289 size_t size, loff_t *offp)
1290 {
1291 struct tool_msg *msg = filep->private_data;
1292 u32 val;
1293 int ret;
1294
1295 ret = kstrtou32_from_user(ubuf, size, 0, &val);
1296 if (ret)
1297 return ret;
1298
> 1299 ret = ntb_peer_msg_write(msg->tc->ntb, msg->pidx, msg->midx, val);
1300
1301 return ret ? : size;
1302 }
1303

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

Attachment: .config.gz
Description: application/gzip