Search Linux Wireless

Re: [PATCH v7 3/3] mt76: add driver code for MT76x2e

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Felix,

I love your patch! Yet something to improve:

[auto build test ERROR on wireless-drivers-next/master]
[also build test ERROR on v4.14 next-20171122]
[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/Felix-Fietkau/dt-bindings-net-add-mt76-wireless-device-binding/20171123-125723
base:   https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

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

   drivers/net/wireless/mediatek/mt76/mac80211.c: In function 'mt76_led_init':
>> drivers/net/wireless/mediatek/mt76/mac80211.c:111:7: error: implicit declaration of function 'of_get_child_by_name' [-Werror=implicit-function-declaration]
     np = of_get_child_by_name(np, "led");
          ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mac80211.c:111:5: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     np = of_get_child_by_name(np, "led");
        ^
>> drivers/net/wireless/mediatek/mt76/mac80211.c:113:8: error: implicit declaration of function 'of_property_read_u32' [-Werror=implicit-function-declaration]
      if (!of_property_read_u32(np, "led-sources", &led_pin))
           ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mac80211.c:115:17: error: implicit declaration of function 'of_property_read_bool' [-Werror=implicit-function-declaration]
      dev->led_al = of_property_read_bool(np, "led-active-low");
                    ^~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   drivers/net/wireless/mediatek/mt76/mt76x2_mac.c: In function 'mt76x2_mac_process_rate':
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:49:20: error: 'RX_FLAG_SHORTPRE' undeclared (first use in this function)
       status->flag |= RX_FLAG_SHORTPRE;
                       ^~~~~~~~~~~~~~~~
   drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:49:20: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:58:19: error: 'RX_FLAG_HT_GF' undeclared (first use in this function)
      status->flag |= RX_FLAG_HT_GF;
                      ^~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:61:19: error: 'RX_FLAG_HT' undeclared (first use in this function)
      status->flag |= RX_FLAG_HT;
                      ^~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:65:19: error: 'RX_FLAG_VHT' undeclared (first use in this function)
      status->flag |= RX_FLAG_VHT;
                      ^~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:67:9: error: 'struct ieee80211_rx_status' has no member named 'vht_nss'
      status->vht_nss = FIELD_GET(MT_RATE_INDEX_VHT_NSS, idx) + 1;
            ^~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:75:19: error: 'RX_FLAG_LDPC' undeclared (first use in this function)
      status->flag |= RX_FLAG_LDPC;
                      ^~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:78:19: error: 'RX_FLAG_SHORT_GI' undeclared (first use in this function)
      status->flag |= RX_FLAG_SHORT_GI;
                      ^~~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:81:24: error: 'RX_FLAG_STBC_SHIFT' undeclared (first use in this function)
      status->flag |= 1 << RX_FLAG_STBC_SHIFT;
                           ^~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:87:19: error: 'RX_FLAG_40MHZ' undeclared (first use in this function)
      status->flag |= RX_FLAG_40MHZ;
                      ^~~~~~~~~~~~~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:90:9: error: 'struct ieee80211_rx_status' has no member named 'vht_flag'; did you mean 'flag'?
      status->vht_flag |= RX_VHT_FLAG_80MHZ;
            ^~
>> drivers/net/wireless/mediatek/mt76/mt76x2_mac.c:90:23: error: 'RX_VHT_FLAG_80MHZ' undeclared (first use in this function)
      status->vht_flag |= RX_VHT_FLAG_80MHZ;
                          ^~~~~~~~~~~~~~~~~

coccinelle warnings: (new ones prefixed by >>)

>> drivers/net/wireless/mediatek/mt76/debugfs.c:36:0-23: WARNING: fops_regval should be defined with DEFINE_DEBUGFS_ATTRIBUTE
--
>> drivers/net/wireless/mediatek/mt76/mt76x2_main.c:86:5-8: Unneeded variable: "ret". Return "0" on line 112

Please review and possibly fold the followup patch.

vim +/RX_FLAG_SHORTPRE +49 drivers/net/wireless/mediatek/mt76/mt76x2_mac.c

    30	
    31	static void
    32	mt76x2_mac_process_rate(struct ieee80211_rx_status *status, u16 rate)
    33	{
    34		u8 idx = FIELD_GET(MT_RXWI_RATE_INDEX, rate);
    35	
    36		switch (FIELD_GET(MT_RXWI_RATE_PHY, rate)) {
    37		case MT_PHY_TYPE_OFDM:
    38			if (idx >= 8)
    39				idx = 0;
    40	
    41			if (status->band == NL80211_BAND_2GHZ)
    42				idx += 4;
    43	
    44			status->rate_idx = idx;
    45			return;
    46		case MT_PHY_TYPE_CCK:
    47			if (idx >= 8) {
    48				idx -= 8;
  > 49				status->flag |= RX_FLAG_SHORTPRE;
    50			}
    51	
    52			if (idx >= 4)
    53				idx = 0;
    54	
    55			status->rate_idx = idx;
    56			return;
    57		case MT_PHY_TYPE_HT_GF:
  > 58			status->flag |= RX_FLAG_HT_GF;
    59			/* fall through */
    60		case MT_PHY_TYPE_HT:
  > 61			status->flag |= RX_FLAG_HT;
    62			status->rate_idx = idx;
    63			break;
    64		case MT_PHY_TYPE_VHT:
  > 65			status->flag |= RX_FLAG_VHT;
    66			status->rate_idx = FIELD_GET(MT_RATE_INDEX_VHT_IDX, idx);
  > 67			status->vht_nss = FIELD_GET(MT_RATE_INDEX_VHT_NSS, idx) + 1;
    68			break;
    69		default:
    70			WARN_ON(1);
    71			return;
    72		}
    73	
    74		if (rate & MT_RXWI_RATE_LDPC)
  > 75			status->flag |= RX_FLAG_LDPC;
    76	
    77		if (rate & MT_RXWI_RATE_SGI)
  > 78			status->flag |= RX_FLAG_SHORT_GI;
    79	
    80		if (rate & MT_RXWI_RATE_STBC)
  > 81			status->flag |= 1 << RX_FLAG_STBC_SHIFT;
    82	
    83		switch (FIELD_GET(MT_RXWI_RATE_BW, rate)) {
    84		case MT_PHY_BW_20:
    85			break;
    86		case MT_PHY_BW_40:
  > 87			status->flag |= RX_FLAG_40MHZ;
    88			break;
    89		case MT_PHY_BW_80:
  > 90			status->vht_flag |= RX_VHT_FLAG_80MHZ;
    91			break;
    92		default:
    93			break;
    94		}
    95	}
    96	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux