tree: https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git j1939-individual head: 320c16c728d8cee622305b98d438e0b67bd949e2 commit: ea7cb8b3328d4c510a25fec410f0ea44b71a7cc4 [19/460] can-j1939: Import SAE J1939 config: arm64-allyesconfig (attached as .config) compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout ea7cb8b3328d4c510a25fec410f0ea44b71a7cc4 # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm64 Note: the mkl-can-next/j1939-individual HEAD 320c16c728d8cee622305b98d438e0b67bd949e2 builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): In file included from net//can/j1939/main.c:27:0: net//can/j1939/j1939-priv.h:181:3: error: unknown type name 'write_proc_t'; did you mean 'writepage_t'? write_proc_t write); ^~~~~~~~~~~~ writepage_t net//can/j1939/main.c: In function 'j1939_segment_attach': >> net//can/j1939/main.c:349:24: error: passing argument 1 of 'can_rx_register' from incompatible pointer type [-Werror=incompatible-pointer-types] ret = can_rx_register(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'struct net *' but argument is of type 'struct net_device *' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ In file included from net//can/j1939/main.c:25:0: >> include/uapi/linux/can.h:55:22: warning: passing argument 2 of 'can_rx_register' makes pointer from integer without a cast [-Wint-conversion] #define CAN_EFF_FLAG 0x80000000U /* EFF/SFF is set in the MSB */ ^ >> net//can/j1939/main.c:333:22: note: in expansion of macro 'CAN_EFF_FLAG' #define J1939_CAN_ID CAN_EFF_FLAG ^~~~~~~~~~~~ >> net//can/j1939/main.c:349:32: note: in expansion of macro 'J1939_CAN_ID' ret = can_rx_register(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'struct net_device *' but argument is of type 'unsigned int' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ >> net//can/j1939/main.c:350:4: warning: passing argument 4 of 'can_rx_register' makes integer from pointer without a cast [-Wint-conversion] j1939_can_recv, jseg, "j1939"); ^~~~~~~~~~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'canid_t {aka unsigned int}' but argument is of type 'void (*)(struct sk_buff *, void *)' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ net//can/j1939/main.c:350:20: error: passing argument 5 of 'can_rx_register' from incompatible pointer type [-Werror=incompatible-pointer-types] j1939_can_recv, jseg, "j1939"); ^~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'void (*)(struct sk_buff *, void *)' but argument is of type 'struct j1939_segment *' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ >> net//can/j1939/main.c:349:8: error: too few arguments to function 'can_rx_register' ret = can_rx_register(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: declared here int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ net//can/j1939/main.c: In function 'j1939_segment_detach': >> net//can/j1939/main.c:370:20: error: passing argument 1 of 'can_rx_unregister' from incompatible pointer type [-Werror=incompatible-pointer-types] can_rx_unregister(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'struct net *' but argument is of type 'struct net_device *' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ In file included from net//can/j1939/main.c:25:0: >> include/uapi/linux/can.h:55:22: warning: passing argument 2 of 'can_rx_unregister' makes pointer from integer without a cast [-Wint-conversion] #define CAN_EFF_FLAG 0x80000000U /* EFF/SFF is set in the MSB */ ^ >> net//can/j1939/main.c:333:22: note: in expansion of macro 'CAN_EFF_FLAG' #define J1939_CAN_ID CAN_EFF_FLAG ^~~~~~~~~~~~ net//can/j1939/main.c:370:28: note: in expansion of macro 'J1939_CAN_ID' can_rx_unregister(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'struct net_device *' but argument is of type 'unsigned int' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ >> net//can/j1939/main.c:371:4: warning: passing argument 4 of 'can_rx_unregister' makes integer from pointer without a cast [-Wint-conversion] j1939_can_recv, jseg); ^~~~~~~~~~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'canid_t {aka unsigned int}' but argument is of type 'void (*)(struct sk_buff *, void *)' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ net//can/j1939/main.c:371:20: error: passing argument 5 of 'can_rx_unregister' from incompatible pointer type [-Werror=incompatible-pointer-types] j1939_can_recv, jseg); ^~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'void (*)(struct sk_buff *, void *)' but argument is of type 'struct j1939_segment *' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ >> net//can/j1939/main.c:370:2: error: too few arguments to function 'can_rx_unregister' can_rx_unregister(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~~~~~~ In file included from net//can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: declared here extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from net/can/j1939/main.c:27:0: net/can/j1939/j1939-priv.h:181:3: error: unknown type name 'write_proc_t'; did you mean 'writepage_t'? write_proc_t write); ^~~~~~~~~~~~ writepage_t net/can/j1939/main.c: In function 'j1939_segment_attach': net/can/j1939/main.c:349:24: error: passing argument 1 of 'can_rx_register' from incompatible pointer type [-Werror=incompatible-pointer-types] ret = can_rx_register(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'struct net *' but argument is of type 'struct net_device *' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ In file included from net/can/j1939/main.c:25:0: >> include/uapi/linux/can.h:55:22: warning: passing argument 2 of 'can_rx_register' makes pointer from integer without a cast [-Wint-conversion] #define CAN_EFF_FLAG 0x80000000U /* EFF/SFF is set in the MSB */ ^ net/can/j1939/main.c:333:22: note: in expansion of macro 'CAN_EFF_FLAG' #define J1939_CAN_ID CAN_EFF_FLAG ^~~~~~~~~~~~ net/can/j1939/main.c:349:32: note: in expansion of macro 'J1939_CAN_ID' ret = can_rx_register(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'struct net_device *' but argument is of type 'unsigned int' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ net/can/j1939/main.c:350:4: warning: passing argument 4 of 'can_rx_register' makes integer from pointer without a cast [-Wint-conversion] j1939_can_recv, jseg, "j1939"); ^~~~~~~~~~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'canid_t {aka unsigned int}' but argument is of type 'void (*)(struct sk_buff *, void *)' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ net/can/j1939/main.c:350:20: error: passing argument 5 of 'can_rx_register' from incompatible pointer type [-Werror=incompatible-pointer-types] j1939_can_recv, jseg, "j1939"); ^~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: expected 'void (*)(struct sk_buff *, void *)' but argument is of type 'struct j1939_segment *' int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ net/can/j1939/main.c:349:8: error: too few arguments to function 'can_rx_register' ret = can_rx_register(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:80:5: note: declared here int can_rx_register(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~ net/can/j1939/main.c: In function 'j1939_segment_detach': net/can/j1939/main.c:370:20: error: passing argument 1 of 'can_rx_unregister' from incompatible pointer type [-Werror=incompatible-pointer-types] can_rx_unregister(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'struct net *' but argument is of type 'struct net_device *' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ In file included from net/can/j1939/main.c:25:0: >> include/uapi/linux/can.h:55:22: warning: passing argument 2 of 'can_rx_unregister' makes pointer from integer without a cast [-Wint-conversion] #define CAN_EFF_FLAG 0x80000000U /* EFF/SFF is set in the MSB */ ^ net/can/j1939/main.c:333:22: note: in expansion of macro 'CAN_EFF_FLAG' #define J1939_CAN_ID CAN_EFF_FLAG ^~~~~~~~~~~~ net/can/j1939/main.c:370:28: note: in expansion of macro 'J1939_CAN_ID' can_rx_unregister(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'struct net_device *' but argument is of type 'unsigned int' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ net/can/j1939/main.c:371:4: warning: passing argument 4 of 'can_rx_unregister' makes integer from pointer without a cast [-Wint-conversion] j1939_can_recv, jseg); ^~~~~~~~~~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'canid_t {aka unsigned int}' but argument is of type 'void (*)(struct sk_buff *, void *)' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ net/can/j1939/main.c:371:20: error: passing argument 5 of 'can_rx_unregister' from incompatible pointer type [-Werror=incompatible-pointer-types] j1939_can_recv, jseg); ^~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: expected 'void (*)(struct sk_buff *, void *)' but argument is of type 'struct j1939_segment *' extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ net/can/j1939/main.c:370:2: error: too few arguments to function 'can_rx_unregister' can_rx_unregister(netdev, J1939_CAN_ID, J1939_CAN_MASK, ^~~~~~~~~~~~~~~~~ In file included from net/can/j1939/main.c:26:0: include/linux/can/core.h:85:13: note: declared here extern void can_rx_unregister(struct net *net, struct net_device *dev, ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/can_rx_register +349 net//can/j1939/main.c 332 > 333 #define J1939_CAN_ID CAN_EFF_FLAG 334 #define J1939_CAN_MASK (CAN_EFF_FLAG | CAN_RTR_FLAG) 335 int j1939_segment_attach(struct net_device *netdev) 336 { 337 int ret; 338 struct j1939_segment *jseg; 339 340 if (!netdev) 341 return -ENODEV; 342 if (netdev->type != ARPHRD_CAN) 343 return -EAFNOSUPPORT; 344 345 ret = j1939_segment_register(netdev); 346 if (ret < 0) 347 goto fail_register; 348 jseg = j1939_segment_find(netdev->ifindex); > 349 ret = can_rx_register(netdev, J1939_CAN_ID, J1939_CAN_MASK, > 350 j1939_can_recv, jseg, "j1939"); 351 if (ret < 0) 352 goto fail_can_rx; 353 return 0; 354 355 fail_can_rx: 356 j1939_segment_unregister(jseg); 357 put_j1939_segment(jseg); 358 fail_register: 359 return ret; 360 } 361 362 int j1939_segment_detach(struct net_device *netdev) 363 { 364 struct j1939_segment *jseg; 365 366 BUG_ON(!netdev); 367 jseg = j1939_segment_find(netdev->ifindex); 368 if (!jseg) 369 return -EHOSTDOWN; > 370 can_rx_unregister(netdev, J1939_CAN_ID, J1939_CAN_MASK, > 371 j1939_can_recv, jseg); 372 j1939_segment_unregister(jseg); 373 put_j1939_segment(jseg); 374 j1939sk_netdev_event(netdev->ifindex, EHOSTDOWN); 375 return 0; 376 } 377 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip