All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: kbuild-all@01.org, linux-wireless@vger.kernel.org,
	Lorenzo Bianconi <lorenzo.bianconi@redhat.com>,
	Felix Fietkau <nbd@nbd.name>,
	Hans Ulli Kroll <ulli.kroll@googlemail.com>,
	Jakub Kicinski <kubakici@wp.pl>,
	Michal Schmidt <mschmidt@redhat.com>,
	linux-mediatek@lists.infradead.org,
	Stanislaw Gruszka <sgruszka@redhat.com>
Subject: Re: [PATCH v2 12/12] mt76: Kconfig and Makefile for mt76x0 driver
Date: Fri, 6 Jul 2018 22:48:57 +0800	[thread overview]
Message-ID: <201807062221.rzDTammd%fengguang.wu@intel.com> (raw)
In-Reply-To: <1530875029-26274-13-git-send-email-sgruszka@redhat.com>

Hi Stanislaw,

I love your patch! Perhaps something to improve:

[auto build test WARNING on wireless-drivers-next/master]
[also build test WARNING on v4.18-rc3 next-20180706]
[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/Stanislaw-Gruszka/mt76-add-more-states/20180706-200412
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:253:15: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:253:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:282:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:282:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:325:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:325:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:354:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:354:15: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:344:5: sparse: symbol 'mt76x0_burst_read_regs' was not declared. Should it be static?
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:463:13: sparse: expression using sizeof(void)
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c:88:27: sparse: Variable length array is used.
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/phy.c:969:34: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/phy.c:989:6: sparse: symbol 'mt76x0_ant_select' was not declared. Should it be static?
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:88:21: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:97:31: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:166:16: sparse: incorrect type in return expression (different base types) @@    expected unsigned short @@    got restricted __leunsigned short @@
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:166:16:    expected unsigned short
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:166:16:    got restricted __le16 [usertype] <noident>
>> drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:175:23: sparse: incorrect type in assignment (different base types) @@    expected restricted __le16 [usertype] tx_rate @@    got 16 [usertype] tx_rate @@
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:175:23:    expected restricted __le16 [usertype] tx_rate
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:175:23:    got unsigned short
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:438:30: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:438:30: sparse: expression using sizeof(void)
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:93:26: sparse: incorrect type in assignment (different base types) @@    expected unsigned short [unsigned] [usertype] rate_ctl @@    got  short [unsigned] [usertype] rate_ctl @@
   drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:93:26:    expected unsigned short [unsigned] [usertype] rate_ctl
   drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:93:26:    got restricted __le16 [usertype] tx_rate
>> drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:126:27: sparse: expression using sizeof(void)

Please review and possibly fold the followup patch.

vim +253 drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c

9b00fd07 Stanislaw Gruszka 2018-07-06  242  
9b00fd07 Stanislaw Gruszka 2018-07-06  243  int mt76x0_write_reg_pairs(struct mt76x0_dev *dev, u32 base,
9b00fd07 Stanislaw Gruszka 2018-07-06  244  			   const struct mt76_reg_pair *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  245  {
9b00fd07 Stanislaw Gruszka 2018-07-06  246  	const int max_vals_per_cmd = INBAND_PACKET_MAX_LEN / 8;
9b00fd07 Stanislaw Gruszka 2018-07-06  247  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  248  	int cnt, i, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  249  
9b00fd07 Stanislaw Gruszka 2018-07-06  250  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  251  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  252  
9b00fd07 Stanislaw Gruszka 2018-07-06 @253  	cnt = min(max_vals_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  254  
9b00fd07 Stanislaw Gruszka 2018-07-06  255  	skb = alloc_skb(cnt * 8 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  256  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  257  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  258  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  259  
9b00fd07 Stanislaw Gruszka 2018-07-06  260  	for (i = 0; i < cnt; i++) {
9b00fd07 Stanislaw Gruszka 2018-07-06  261  		skb_put_le32(skb, base + data[i].reg);
9b00fd07 Stanislaw Gruszka 2018-07-06  262  		skb_put_le32(skb, data[i].value);
9b00fd07 Stanislaw Gruszka 2018-07-06  263  	}
9b00fd07 Stanislaw Gruszka 2018-07-06  264  
9b00fd07 Stanislaw Gruszka 2018-07-06  265  	ret = mt76x0_mcu_msg_send(dev, skb, CMD_RANDOM_WRITE, cnt == n);
9b00fd07 Stanislaw Gruszka 2018-07-06  266  	if (ret)
9b00fd07 Stanislaw Gruszka 2018-07-06  267  		return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  268  
9b00fd07 Stanislaw Gruszka 2018-07-06  269  	return mt76x0_write_reg_pairs(dev, base, data + cnt, n - cnt);
9b00fd07 Stanislaw Gruszka 2018-07-06  270  }
9b00fd07 Stanislaw Gruszka 2018-07-06  271  
9b00fd07 Stanislaw Gruszka 2018-07-06  272  int mt76x0_read_reg_pairs(struct mt76x0_dev *dev, u32 base,
9b00fd07 Stanislaw Gruszka 2018-07-06  273  			  struct mt76_reg_pair *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  274  {
9b00fd07 Stanislaw Gruszka 2018-07-06  275  	const int max_vals_per_cmd = INBAND_PACKET_MAX_LEN / 8;
9b00fd07 Stanislaw Gruszka 2018-07-06  276  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  277  	int cnt, i, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  278  
9b00fd07 Stanislaw Gruszka 2018-07-06  279  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  280  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  281  
9b00fd07 Stanislaw Gruszka 2018-07-06  282  	cnt = min(max_vals_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  283  	if (cnt != n)
9b00fd07 Stanislaw Gruszka 2018-07-06  284  		return -EINVAL;
9b00fd07 Stanislaw Gruszka 2018-07-06  285  
9b00fd07 Stanislaw Gruszka 2018-07-06  286  	skb = alloc_skb(cnt * 8 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  287  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  288  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  289  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  290  
9b00fd07 Stanislaw Gruszka 2018-07-06  291  	for (i = 0; i < cnt; i++) {
9b00fd07 Stanislaw Gruszka 2018-07-06  292  		skb_put_le32(skb, base + data[i].reg);
9b00fd07 Stanislaw Gruszka 2018-07-06  293  		skb_put_le32(skb, data[i].value);
9b00fd07 Stanislaw Gruszka 2018-07-06  294  	}
9b00fd07 Stanislaw Gruszka 2018-07-06  295  
9b00fd07 Stanislaw Gruszka 2018-07-06  296  	mutex_lock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  297  
9b00fd07 Stanislaw Gruszka 2018-07-06  298  	dev->mcu.reg_pairs = data;
9b00fd07 Stanislaw Gruszka 2018-07-06  299  	dev->mcu.reg_pairs_len = n;
9b00fd07 Stanislaw Gruszka 2018-07-06  300  	dev->mcu.reg_base = base;
9b00fd07 Stanislaw Gruszka 2018-07-06  301  	dev->mcu.burst_read = false;
9b00fd07 Stanislaw Gruszka 2018-07-06  302  
9b00fd07 Stanislaw Gruszka 2018-07-06  303  	ret = __mt76x0_mcu_msg_send(dev, skb, CMD_RANDOM_READ, true);
9b00fd07 Stanislaw Gruszka 2018-07-06  304  
9b00fd07 Stanislaw Gruszka 2018-07-06  305  	dev->mcu.reg_pairs = NULL;
9b00fd07 Stanislaw Gruszka 2018-07-06  306  
9b00fd07 Stanislaw Gruszka 2018-07-06  307  	mutex_unlock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  308  
9b00fd07 Stanislaw Gruszka 2018-07-06  309  	consume_skb(skb);
9b00fd07 Stanislaw Gruszka 2018-07-06  310  
9b00fd07 Stanislaw Gruszka 2018-07-06  311  	return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  312  
9b00fd07 Stanislaw Gruszka 2018-07-06  313  }
9b00fd07 Stanislaw Gruszka 2018-07-06  314  
9b00fd07 Stanislaw Gruszka 2018-07-06  315  int mt76x0_burst_write_regs(struct mt76x0_dev *dev, u32 offset,
9b00fd07 Stanislaw Gruszka 2018-07-06  316  			     const u32 *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  317  {
9b00fd07 Stanislaw Gruszka 2018-07-06  318  	const int max_regs_per_cmd = INBAND_PACKET_MAX_LEN / 4 - 1;
9b00fd07 Stanislaw Gruszka 2018-07-06  319  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  320  	int cnt, i, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  321  
9b00fd07 Stanislaw Gruszka 2018-07-06  322  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  323  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  324  
9b00fd07 Stanislaw Gruszka 2018-07-06  325  	cnt = min(max_regs_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  326  
9b00fd07 Stanislaw Gruszka 2018-07-06  327  	skb = alloc_skb(cnt * 4 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  328  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  329  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  330  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  331  
9b00fd07 Stanislaw Gruszka 2018-07-06  332  	skb_put_le32(skb, MT_MCU_MEMMAP_WLAN + offset);
9b00fd07 Stanislaw Gruszka 2018-07-06  333  	for (i = 0; i < cnt; i++)
9b00fd07 Stanislaw Gruszka 2018-07-06  334  		skb_put_le32(skb, data[i]);
9b00fd07 Stanislaw Gruszka 2018-07-06  335  
9b00fd07 Stanislaw Gruszka 2018-07-06  336  	ret = mt76x0_mcu_msg_send(dev, skb, CMD_BURST_WRITE, cnt == n);
9b00fd07 Stanislaw Gruszka 2018-07-06  337  	if (ret)
9b00fd07 Stanislaw Gruszka 2018-07-06  338  		return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  339  
9b00fd07 Stanislaw Gruszka 2018-07-06  340  	return mt76x0_burst_write_regs(dev, offset + cnt * 4,
9b00fd07 Stanislaw Gruszka 2018-07-06  341  					data + cnt, n - cnt);
9b00fd07 Stanislaw Gruszka 2018-07-06  342  }
9b00fd07 Stanislaw Gruszka 2018-07-06  343  
9b00fd07 Stanislaw Gruszka 2018-07-06 @344  int mt76x0_burst_read_regs(struct mt76x0_dev *dev, u32 base,
9b00fd07 Stanislaw Gruszka 2018-07-06  345  			   struct mt76_reg_pair *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  346  {
9b00fd07 Stanislaw Gruszka 2018-07-06  347  	const int max_vals_per_cmd = INBAND_PACKET_MAX_LEN / 4 - 1;
9b00fd07 Stanislaw Gruszka 2018-07-06  348  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  349  	int cnt, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  350  
9b00fd07 Stanislaw Gruszka 2018-07-06  351  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  352  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  353  
9b00fd07 Stanislaw Gruszka 2018-07-06  354  	cnt = min(max_vals_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  355  	if (cnt != n)
9b00fd07 Stanislaw Gruszka 2018-07-06  356  		return -EINVAL;
9b00fd07 Stanislaw Gruszka 2018-07-06  357  
9b00fd07 Stanislaw Gruszka 2018-07-06  358  	skb = alloc_skb(cnt * 4 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  359  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  360  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  361  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  362  
9b00fd07 Stanislaw Gruszka 2018-07-06  363  	skb_put_le32(skb, base + data[0].reg);
9b00fd07 Stanislaw Gruszka 2018-07-06  364  	skb_put_le32(skb, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  365  
9b00fd07 Stanislaw Gruszka 2018-07-06  366  	mutex_lock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  367  
9b00fd07 Stanislaw Gruszka 2018-07-06  368  	dev->mcu.reg_pairs = data;
9b00fd07 Stanislaw Gruszka 2018-07-06  369  	dev->mcu.reg_pairs_len = n;
9b00fd07 Stanislaw Gruszka 2018-07-06  370  	dev->mcu.reg_base = base;
9b00fd07 Stanislaw Gruszka 2018-07-06  371  	dev->mcu.burst_read = true;
9b00fd07 Stanislaw Gruszka 2018-07-06  372  
9b00fd07 Stanislaw Gruszka 2018-07-06  373  	ret = __mt76x0_mcu_msg_send(dev, skb, CMD_BURST_READ, true);
9b00fd07 Stanislaw Gruszka 2018-07-06  374  
9b00fd07 Stanislaw Gruszka 2018-07-06  375  	dev->mcu.reg_pairs = NULL;
9b00fd07 Stanislaw Gruszka 2018-07-06  376  
9b00fd07 Stanislaw Gruszka 2018-07-06  377  	mutex_unlock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  378  
9b00fd07 Stanislaw Gruszka 2018-07-06  379  	consume_skb(skb);
9b00fd07 Stanislaw Gruszka 2018-07-06  380  
9b00fd07 Stanislaw Gruszka 2018-07-06  381  	return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  382  }
9b00fd07 Stanislaw Gruszka 2018-07-06  383  

:::::: The code at line 253 was first introduced by commit
:::::: 9b00fd07b938453189c6be7d366c71bc7528f7ce mt76x0: mcu files

:::::: TO: Stanislaw Gruszka <sgruszka@redhat.com>
:::::: CC: 0day robot <lkp@intel.com>

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

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: kbuild-all-JC7UmRfGjtg@public.gmane.org,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Lorenzo Bianconi
	<lorenzo.bianconi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Felix Fietkau <nbd-Vt+b4OUoWG0@public.gmane.org>,
	Hans Ulli Kroll
	<ulli.kroll-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>,
	Jakub Kicinski <kubakici-5tc4TXWwyLM@public.gmane.org>,
	Michal Schmidt <mschmidt-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Stanislaw Gruszka
	<sgruszka-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v2 12/12] mt76: Kconfig and Makefile for mt76x0 driver
Date: Fri, 6 Jul 2018 22:48:57 +0800	[thread overview]
Message-ID: <201807062221.rzDTammd%fengguang.wu@intel.com> (raw)
In-Reply-To: <1530875029-26274-13-git-send-email-sgruszka-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

Hi Stanislaw,

I love your patch! Perhaps something to improve:

[auto build test WARNING on wireless-drivers-next/master]
[also build test WARNING on v4.18-rc3 next-20180706]
[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/Stanislaw-Gruszka/mt76-add-more-states/20180706-200412
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:253:15: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:253:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:282:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:282:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:325:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:325:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:354:15: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:354:15: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:344:5: sparse: symbol 'mt76x0_burst_read_regs' was not declared. Should it be static?
   drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c:463:13: sparse: expression using sizeof(void)
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c:88:27: sparse: Variable length array is used.
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/phy.c:969:34: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/phy.c:989:6: sparse: symbol 'mt76x0_ant_select' was not declared. Should it be static?
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:88:21: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:97:31: sparse: expression using sizeof(void)
>> drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:166:16: sparse: incorrect type in return expression (different base types) @@    expected unsigned short @@    got restricted __leunsigned short @@
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:166:16:    expected unsigned short
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:166:16:    got restricted __le16 [usertype] <noident>
>> drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:175:23: sparse: incorrect type in assignment (different base types) @@    expected restricted __le16 [usertype] tx_rate @@    got 16 [usertype] tx_rate @@
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:175:23:    expected restricted __le16 [usertype] tx_rate
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:175:23:    got unsigned short
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:438:30: sparse: expression using sizeof(void)
   drivers/net/wireless/mediatek/mt76/mt76x0/mac.c:438:30: sparse: expression using sizeof(void)
--
>> drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:93:26: sparse: incorrect type in assignment (different base types) @@    expected unsigned short [unsigned] [usertype] rate_ctl @@    got  short [unsigned] [usertype] rate_ctl @@
   drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:93:26:    expected unsigned short [unsigned] [usertype] rate_ctl
   drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:93:26:    got restricted __le16 [usertype] tx_rate
>> drivers/net/wireless/mediatek/mt76/mt76x0/tx.c:126:27: sparse: expression using sizeof(void)

Please review and possibly fold the followup patch.

vim +253 drivers/net/wireless/mediatek/mt76/mt76x0/mcu.c

9b00fd07 Stanislaw Gruszka 2018-07-06  242  
9b00fd07 Stanislaw Gruszka 2018-07-06  243  int mt76x0_write_reg_pairs(struct mt76x0_dev *dev, u32 base,
9b00fd07 Stanislaw Gruszka 2018-07-06  244  			   const struct mt76_reg_pair *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  245  {
9b00fd07 Stanislaw Gruszka 2018-07-06  246  	const int max_vals_per_cmd = INBAND_PACKET_MAX_LEN / 8;
9b00fd07 Stanislaw Gruszka 2018-07-06  247  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  248  	int cnt, i, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  249  
9b00fd07 Stanislaw Gruszka 2018-07-06  250  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  251  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  252  
9b00fd07 Stanislaw Gruszka 2018-07-06 @253  	cnt = min(max_vals_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  254  
9b00fd07 Stanislaw Gruszka 2018-07-06  255  	skb = alloc_skb(cnt * 8 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  256  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  257  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  258  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  259  
9b00fd07 Stanislaw Gruszka 2018-07-06  260  	for (i = 0; i < cnt; i++) {
9b00fd07 Stanislaw Gruszka 2018-07-06  261  		skb_put_le32(skb, base + data[i].reg);
9b00fd07 Stanislaw Gruszka 2018-07-06  262  		skb_put_le32(skb, data[i].value);
9b00fd07 Stanislaw Gruszka 2018-07-06  263  	}
9b00fd07 Stanislaw Gruszka 2018-07-06  264  
9b00fd07 Stanislaw Gruszka 2018-07-06  265  	ret = mt76x0_mcu_msg_send(dev, skb, CMD_RANDOM_WRITE, cnt == n);
9b00fd07 Stanislaw Gruszka 2018-07-06  266  	if (ret)
9b00fd07 Stanislaw Gruszka 2018-07-06  267  		return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  268  
9b00fd07 Stanislaw Gruszka 2018-07-06  269  	return mt76x0_write_reg_pairs(dev, base, data + cnt, n - cnt);
9b00fd07 Stanislaw Gruszka 2018-07-06  270  }
9b00fd07 Stanislaw Gruszka 2018-07-06  271  
9b00fd07 Stanislaw Gruszka 2018-07-06  272  int mt76x0_read_reg_pairs(struct mt76x0_dev *dev, u32 base,
9b00fd07 Stanislaw Gruszka 2018-07-06  273  			  struct mt76_reg_pair *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  274  {
9b00fd07 Stanislaw Gruszka 2018-07-06  275  	const int max_vals_per_cmd = INBAND_PACKET_MAX_LEN / 8;
9b00fd07 Stanislaw Gruszka 2018-07-06  276  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  277  	int cnt, i, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  278  
9b00fd07 Stanislaw Gruszka 2018-07-06  279  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  280  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  281  
9b00fd07 Stanislaw Gruszka 2018-07-06  282  	cnt = min(max_vals_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  283  	if (cnt != n)
9b00fd07 Stanislaw Gruszka 2018-07-06  284  		return -EINVAL;
9b00fd07 Stanislaw Gruszka 2018-07-06  285  
9b00fd07 Stanislaw Gruszka 2018-07-06  286  	skb = alloc_skb(cnt * 8 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  287  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  288  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  289  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  290  
9b00fd07 Stanislaw Gruszka 2018-07-06  291  	for (i = 0; i < cnt; i++) {
9b00fd07 Stanislaw Gruszka 2018-07-06  292  		skb_put_le32(skb, base + data[i].reg);
9b00fd07 Stanislaw Gruszka 2018-07-06  293  		skb_put_le32(skb, data[i].value);
9b00fd07 Stanislaw Gruszka 2018-07-06  294  	}
9b00fd07 Stanislaw Gruszka 2018-07-06  295  
9b00fd07 Stanislaw Gruszka 2018-07-06  296  	mutex_lock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  297  
9b00fd07 Stanislaw Gruszka 2018-07-06  298  	dev->mcu.reg_pairs = data;
9b00fd07 Stanislaw Gruszka 2018-07-06  299  	dev->mcu.reg_pairs_len = n;
9b00fd07 Stanislaw Gruszka 2018-07-06  300  	dev->mcu.reg_base = base;
9b00fd07 Stanislaw Gruszka 2018-07-06  301  	dev->mcu.burst_read = false;
9b00fd07 Stanislaw Gruszka 2018-07-06  302  
9b00fd07 Stanislaw Gruszka 2018-07-06  303  	ret = __mt76x0_mcu_msg_send(dev, skb, CMD_RANDOM_READ, true);
9b00fd07 Stanislaw Gruszka 2018-07-06  304  
9b00fd07 Stanislaw Gruszka 2018-07-06  305  	dev->mcu.reg_pairs = NULL;
9b00fd07 Stanislaw Gruszka 2018-07-06  306  
9b00fd07 Stanislaw Gruszka 2018-07-06  307  	mutex_unlock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  308  
9b00fd07 Stanislaw Gruszka 2018-07-06  309  	consume_skb(skb);
9b00fd07 Stanislaw Gruszka 2018-07-06  310  
9b00fd07 Stanislaw Gruszka 2018-07-06  311  	return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  312  
9b00fd07 Stanislaw Gruszka 2018-07-06  313  }
9b00fd07 Stanislaw Gruszka 2018-07-06  314  
9b00fd07 Stanislaw Gruszka 2018-07-06  315  int mt76x0_burst_write_regs(struct mt76x0_dev *dev, u32 offset,
9b00fd07 Stanislaw Gruszka 2018-07-06  316  			     const u32 *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  317  {
9b00fd07 Stanislaw Gruszka 2018-07-06  318  	const int max_regs_per_cmd = INBAND_PACKET_MAX_LEN / 4 - 1;
9b00fd07 Stanislaw Gruszka 2018-07-06  319  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  320  	int cnt, i, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  321  
9b00fd07 Stanislaw Gruszka 2018-07-06  322  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  323  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  324  
9b00fd07 Stanislaw Gruszka 2018-07-06  325  	cnt = min(max_regs_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  326  
9b00fd07 Stanislaw Gruszka 2018-07-06  327  	skb = alloc_skb(cnt * 4 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  328  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  329  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  330  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  331  
9b00fd07 Stanislaw Gruszka 2018-07-06  332  	skb_put_le32(skb, MT_MCU_MEMMAP_WLAN + offset);
9b00fd07 Stanislaw Gruszka 2018-07-06  333  	for (i = 0; i < cnt; i++)
9b00fd07 Stanislaw Gruszka 2018-07-06  334  		skb_put_le32(skb, data[i]);
9b00fd07 Stanislaw Gruszka 2018-07-06  335  
9b00fd07 Stanislaw Gruszka 2018-07-06  336  	ret = mt76x0_mcu_msg_send(dev, skb, CMD_BURST_WRITE, cnt == n);
9b00fd07 Stanislaw Gruszka 2018-07-06  337  	if (ret)
9b00fd07 Stanislaw Gruszka 2018-07-06  338  		return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  339  
9b00fd07 Stanislaw Gruszka 2018-07-06  340  	return mt76x0_burst_write_regs(dev, offset + cnt * 4,
9b00fd07 Stanislaw Gruszka 2018-07-06  341  					data + cnt, n - cnt);
9b00fd07 Stanislaw Gruszka 2018-07-06  342  }
9b00fd07 Stanislaw Gruszka 2018-07-06  343  
9b00fd07 Stanislaw Gruszka 2018-07-06 @344  int mt76x0_burst_read_regs(struct mt76x0_dev *dev, u32 base,
9b00fd07 Stanislaw Gruszka 2018-07-06  345  			   struct mt76_reg_pair *data, int n)
9b00fd07 Stanislaw Gruszka 2018-07-06  346  {
9b00fd07 Stanislaw Gruszka 2018-07-06  347  	const int max_vals_per_cmd = INBAND_PACKET_MAX_LEN / 4 - 1;
9b00fd07 Stanislaw Gruszka 2018-07-06  348  	struct sk_buff *skb;
9b00fd07 Stanislaw Gruszka 2018-07-06  349  	int cnt, ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  350  
9b00fd07 Stanislaw Gruszka 2018-07-06  351  	if (!n)
9b00fd07 Stanislaw Gruszka 2018-07-06  352  		return 0;
9b00fd07 Stanislaw Gruszka 2018-07-06  353  
9b00fd07 Stanislaw Gruszka 2018-07-06  354  	cnt = min(max_vals_per_cmd, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  355  	if (cnt != n)
9b00fd07 Stanislaw Gruszka 2018-07-06  356  		return -EINVAL;
9b00fd07 Stanislaw Gruszka 2018-07-06  357  
9b00fd07 Stanislaw Gruszka 2018-07-06  358  	skb = alloc_skb(cnt * 4 + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
9b00fd07 Stanislaw Gruszka 2018-07-06  359  	if (!skb)
9b00fd07 Stanislaw Gruszka 2018-07-06  360  		return -ENOMEM;
9b00fd07 Stanislaw Gruszka 2018-07-06  361  	skb_reserve(skb, MT_DMA_HDR_LEN);
9b00fd07 Stanislaw Gruszka 2018-07-06  362  
9b00fd07 Stanislaw Gruszka 2018-07-06  363  	skb_put_le32(skb, base + data[0].reg);
9b00fd07 Stanislaw Gruszka 2018-07-06  364  	skb_put_le32(skb, n);
9b00fd07 Stanislaw Gruszka 2018-07-06  365  
9b00fd07 Stanislaw Gruszka 2018-07-06  366  	mutex_lock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  367  
9b00fd07 Stanislaw Gruszka 2018-07-06  368  	dev->mcu.reg_pairs = data;
9b00fd07 Stanislaw Gruszka 2018-07-06  369  	dev->mcu.reg_pairs_len = n;
9b00fd07 Stanislaw Gruszka 2018-07-06  370  	dev->mcu.reg_base = base;
9b00fd07 Stanislaw Gruszka 2018-07-06  371  	dev->mcu.burst_read = true;
9b00fd07 Stanislaw Gruszka 2018-07-06  372  
9b00fd07 Stanislaw Gruszka 2018-07-06  373  	ret = __mt76x0_mcu_msg_send(dev, skb, CMD_BURST_READ, true);
9b00fd07 Stanislaw Gruszka 2018-07-06  374  
9b00fd07 Stanislaw Gruszka 2018-07-06  375  	dev->mcu.reg_pairs = NULL;
9b00fd07 Stanislaw Gruszka 2018-07-06  376  
9b00fd07 Stanislaw Gruszka 2018-07-06  377  	mutex_unlock(&dev->mcu.mutex);
9b00fd07 Stanislaw Gruszka 2018-07-06  378  
9b00fd07 Stanislaw Gruszka 2018-07-06  379  	consume_skb(skb);
9b00fd07 Stanislaw Gruszka 2018-07-06  380  
9b00fd07 Stanislaw Gruszka 2018-07-06  381  	return ret;
9b00fd07 Stanislaw Gruszka 2018-07-06  382  }
9b00fd07 Stanislaw Gruszka 2018-07-06  383  

:::::: The code at line 253 was first introduced by commit
:::::: 9b00fd07b938453189c6be7d366c71bc7528f7ce mt76x0: mcu files

:::::: TO: Stanislaw Gruszka <sgruszka-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
:::::: CC: 0day robot <lkp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

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

  reply	other threads:[~2018-07-06 14:50 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-06 11:03 [PATCH v2 00/12] Add mt76x0 driver Stanislaw Gruszka
2018-07-06 11:03 ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 01/12] mt76: add more states Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 02/12] mt76x0: core files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 03/12] mt76x0: mac files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 04/12] mt76x0: usb files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 05/12] mt76x0: mcu files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 06/12] mt76x0: phy files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 07/12] mt76x0: init files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 08/12] mt76x0: eeprom files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 09/12] mt76x0: trace and debugfs files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 10/12] mt76x0: dma and tx files Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 11/12] mt76x0: main file Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 11:03 ` [PATCH v2 12/12] mt76: Kconfig and Makefile for mt76x0 driver Stanislaw Gruszka
2018-07-06 11:03   ` Stanislaw Gruszka
2018-07-06 14:48   ` kbuild test robot [this message]
2018-07-06 14:48     ` kbuild test robot
2018-07-06 14:48   ` [RFC PATCH] mt76: mt76x0_burst_read_regs() can be static kbuild test robot
2018-07-06 14:48     ` kbuild test robot
     [not found] ` <1530875029-26274-1-git-send-email-sgruszka-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-07-10  6:50   ` [SPAM][PATCH v2 00/12] Add mt76x0 driver Sean Wang
2018-07-10  9:52     ` Stanislaw Gruszka
     [not found]       ` <20180710095222.GA18926-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-07-10 13:54         ` Sean Wang
2018-07-10 20:41           ` Lorenzo Bianconi
2018-07-11  8:07           ` [PATCH " Lorenzo Bianconi
2018-07-11  8:07             ` Lorenzo Bianconi
2018-07-12 11:41             ` Stanislaw Gruszka
2018-07-12 11:41               ` Stanislaw Gruszka
2018-07-20 15:36             ` Sean Wang
2018-07-20 15:36               ` Sean Wang
2018-07-23  9:16               ` Lorenzo Bianconi
2018-07-23  9:16                 ` Lorenzo Bianconi
2018-07-23  9:44                 ` Stanislaw Gruszka
2018-07-23  9:44                   ` Stanislaw Gruszka
2018-07-23  9:35               ` Stanislaw Gruszka
2018-07-23  9:35                 ` Stanislaw Gruszka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201807062221.rzDTammd%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@01.org \
    --cc=kubakici@wp.pl \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lorenzo.bianconi@redhat.com \
    --cc=mschmidt@redhat.com \
    --cc=nbd@nbd.name \
    --cc=sgruszka@redhat.com \
    --cc=ulli.kroll@googlemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.