tree: https://github.com/Xilinx/linux-xlnx master head: 959c29b000f2d8576c7b56b53e559db140ee3952 commit: 0605a36e057480f3a83ae401e7ff59739da78e82 [368/407] net: xilinx: Ethtool statistics support config: arm-randconfig-s032-20210827 (attached as .config) compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-348-gf0e6938b-dirty # https://github.com/Xilinx/linux-xlnx/commit/0605a36e057480f3a83ae401e7ff59739da78e82 git remote add xlnx https://github.com/Xilinx/linux-xlnx git fetch --no-tags xlnx master git checkout 0605a36e057480f3a83ae401e7ff59739da78e82 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:37: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:37: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:37: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:37: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:37: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:37: sparse: sparse: cast to restricted __be32 drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __wsum [usertype] csum @@ got unsigned int @@ drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:35: sparse: expected restricted __wsum [usertype] csum drivers/net/ethernet/xilinx/xilinx_axienet_main.c:1572:35: sparse: got unsigned int >> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2650:5: sparse: sparse: symbol 'axienet_ethtools_sset_count' was not declared. Should it be static? >> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2673:6: sparse: sparse: symbol 'axienet_ethtools_get_stats' was not declared. Should it be static? >> drivers/net/ethernet/xilinx/xilinx_axienet_main.c:2700:6: sparse: sparse: symbol 'axienet_ethtools_strings' was not declared. Should it be static? vim +/axienet_ethtools_sset_count +2650 drivers/net/ethernet/xilinx/xilinx_axienet_main.c 2640 2641 /** 2642 * axienet_ethtools_sset_count - Get number of strings that 2643 * get_strings will write. 2644 * @ndev: Pointer to net_device structure 2645 * @sset: Get the set strings 2646 * 2647 * Return: number of strings, on success, Non-zero error value on 2648 * failure. 2649 */ > 2650 int axienet_ethtools_sset_count(struct net_device *ndev, int sset) 2651 { 2652 switch (sset) { 2653 case ETH_SS_STATS: 2654 #ifdef CONFIG_AXIENET_HAS_MCDMA 2655 return axienet_sset_count(ndev, sset); 2656 #else 2657 return AXIENET_ETHTOOLS_SSTATS_LEN; 2658 #endif 2659 default: 2660 return -EOPNOTSUPP; 2661 } 2662 } 2663 2664 /** 2665 * axienet_ethtools_get_stats - Get the extended statistics 2666 * about the device. 2667 * @ndev: Pointer to net_device structure 2668 * @stats: Pointer to ethtool_stats structure 2669 * @data: To store the statistics values 2670 * 2671 * Return: None. 2672 */ > 2673 void axienet_ethtools_get_stats(struct net_device *ndev, 2674 struct ethtool_stats *stats, 2675 u64 *data) 2676 { 2677 unsigned int i = 0; 2678 2679 data[i++] = ndev->stats.tx_packets; 2680 data[i++] = ndev->stats.rx_packets; 2681 data[i++] = ndev->stats.tx_bytes; 2682 data[i++] = ndev->stats.rx_bytes; 2683 data[i++] = ndev->stats.tx_errors; 2684 data[i++] = ndev->stats.rx_missed_errors + ndev->stats.rx_frame_errors; 2685 2686 #ifdef CONFIG_AXIENET_HAS_MCDMA 2687 axienet_get_stats(ndev, stats, data); 2688 #endif 2689 } 2690 2691 /** 2692 * axienet_ethtools_strings - Set of strings that describe 2693 * the requested objects. 2694 * @ndev: Pointer to net_device structure 2695 * @sset: Get the set strings 2696 * @data: Data of Transmit and Receive statistics 2697 * 2698 * Return: None. 2699 */ > 2700 void axienet_ethtools_strings(struct net_device *ndev, u32 sset, u8 *data) 2701 { 2702 int i; 2703 2704 for (i = 0; i < AXIENET_ETHTOOLS_SSTATS_LEN; i++) { 2705 if (sset == ETH_SS_STATS) 2706 memcpy(data + i * ETH_GSTRING_LEN, 2707 axienet_get_ethtools_strings_stats[i].name, 2708 ETH_GSTRING_LEN); 2709 } 2710 #ifdef CONFIG_AXIENET_HAS_MCDMA 2711 axienet_strings(ndev, sset, data); 2712 #endif 2713 } 2714 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org