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

Reply via email to