tree: https://github.com/nbd168/wireless mt76 head: f12758f6f929dbcd37abdb1d91d245539eca48f8 commit: 8aa2c6f4714ecccbf1e149c6ff2fde5284e03be7 [13/89] mt76: mt7915: support 32 station interfaces config: powerpc-randconfig-r034-20201209 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1968804ac726e7674d5de22bc2204b45857da344) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install powerpc cross compiling tool for clang build # apt-get install binutils-powerpc-linux-gnu # https://github.com/nbd168/wireless/commit/8aa2c6f4714ecccbf1e149c6ff2fde5284e03be7 git remote add nbd168-wireless https://github.com/nbd168/wireless git fetch --no-tags nbd168-wireless mt76 git checkout 8aa2c6f4714ecccbf1e149c6ff2fde5284e03be7 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/net/wireless/mediatek/mt76/mt7915/init.c:203:2: error: expected expression }, { ^ >> drivers/net/wireless/mediatek/mt76/mt7915/init.c:212:15: error: invalid application of 'sizeof' to an incomplete type 'const struct ieee80211_iface_limit []' .n_limits = ARRAY_SIZE(if_limits), ^~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:48:32: note: expanded from macro 'ARRAY_SIZE' #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ^~~~~ >> drivers/net/wireless/mediatek/mt76/mt7915/init.c:259:32: error: invalid application of 'sizeof' to an incomplete type 'const struct ieee80211_iface_combination []' wiphy->n_iface_combinations = ARRAY_SIZE(if_comb); ^~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:48:32: note: expanded from macro 'ARRAY_SIZE' #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ^~~~~ 3 errors generated. vim +203 drivers/net/wireless/mediatek/mt76/mt7915/init.c 192 193 static const struct ieee80211_iface_limit if_limits[] = { 194 { 195 .max = 1, 196 .types = BIT(NL80211_IFTYPE_ADHOC) 197 }, { 198 .max = 16, 199 .types = BIT(NL80211_IFTYPE_AP) | 200 #ifdef CONFIG_MAC80211_MESH 201 BIT(NL80211_IFTYPE_MESH_POINT) 202 #endif > 203 }, { 204 .max = MT7915_MAX_INTERFACES, 205 .types = BIT(NL80211_IFTYPE_STATION) 206 } 207 }; 208 209 static const struct ieee80211_iface_combination if_comb[] = { 210 { 211 .limits = if_limits, > 212 .n_limits = ARRAY_SIZE(if_limits), 213 .max_interfaces = MT7915_MAX_INTERFACES, 214 .num_different_channels = 1, 215 .beacon_int_infra_match = true, 216 .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) | 217 BIT(NL80211_CHAN_WIDTH_20) | 218 BIT(NL80211_CHAN_WIDTH_40) | 219 BIT(NL80211_CHAN_WIDTH_80) | 220 BIT(NL80211_CHAN_WIDTH_160) | 221 BIT(NL80211_CHAN_WIDTH_80P80), 222 } 223 }; 224 225 static void 226 mt7915_regd_notifier(struct wiphy *wiphy, 227 struct regulatory_request *request) 228 { 229 struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy); 230 struct mt7915_dev *dev = mt7915_hw_dev(hw); 231 struct mt76_phy *mphy = hw->priv; 232 struct mt7915_phy *phy = mphy->priv; 233 struct cfg80211_chan_def *chandef = &mphy->chandef; 234 235 dev->mt76.region = request->dfs_region; 236 237 if (!(chandef->chan->flags & IEEE80211_CHAN_RADAR)) 238 return; 239 240 mt7915_dfs_init_radar_detector(phy); 241 } 242 243 static void 244 mt7915_init_wiphy(struct ieee80211_hw *hw) 245 { 246 struct mt7915_phy *phy = mt7915_hw_phy(hw); 247 struct wiphy *wiphy = hw->wiphy; 248 249 hw->queues = 4; 250 hw->max_rx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF; 251 hw->max_tx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF; 252 253 phy->slottime = 9; 254 255 hw->sta_data_size = sizeof(struct mt7915_sta); 256 hw->vif_data_size = sizeof(struct mt7915_vif); 257 258 wiphy->iface_combinations = if_comb; > 259 wiphy->n_iface_combinations = ARRAY_SIZE(if_comb); 260 wiphy->reg_notifier = mt7915_regd_notifier; 261 wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH; 262 263 wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_VHT_IBSS); 264 265 ieee80211_hw_set(hw, HAS_RATE_CONTROL); 266 ieee80211_hw_set(hw, SUPPORTS_TX_ENCAP_OFFLOAD); 267 268 hw->max_tx_fragments = 4; 269 } 270 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org