Lines Matching refs:wiphy

403 	return cfg80211_check_combinations(cfg->wiphy, 1, 0, iftype_num);  in brcmf_vif_change_validate()
417 return cfg80211_check_combinations(cfg->wiphy, 1, 0, iftype_num); in brcmf_vif_add_validate()
535 struct wireless_dev *brcmf_ap_add_vif(struct wiphy *wiphy, const char *name, in brcmf_ap_add_vif() argument
538 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_ap_add_vif()
605 static struct wireless_dev *brcmf_cfg80211_add_iface(struct wiphy *wiphy, in brcmf_cfg80211_add_iface() argument
616 err = brcmf_vif_add_validate(wiphy_to_cfg(wiphy), type); in brcmf_cfg80211_add_iface()
630 wdev = brcmf_ap_add_vif(wiphy, name, flags, params); in brcmf_cfg80211_add_iface()
637 wdev = brcmf_p2p_add_vif(wiphy, name, name_assign_type, type, flags, params); in brcmf_cfg80211_add_iface()
729 int brcmf_cfg80211_del_iface(struct wiphy *wiphy, struct wireless_dev *wdev) in brcmf_cfg80211_del_iface() argument
731 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_del_iface()
759 return brcmf_p2p_del_vif(wiphy, wdev); in brcmf_cfg80211_del_iface()
768 brcmf_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_change_iface() argument
772 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_change_iface()
811 err = brcmf_vif_change_validate(wiphy_to_cfg(wiphy), vif, type); in brcmf_cfg80211_change_iface()
990 brcmf_do_escan(struct brcmf_cfg80211_info *cfg, struct wiphy *wiphy, in brcmf_do_escan() argument
1000 escan->wiphy = wiphy; in brcmf_do_escan()
1022 brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif, in brcmf_cfg80211_escan() argument
1027 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_escan()
1076 err = brcmf_p2p_scan_prep(wiphy, request, vif); in brcmf_cfg80211_escan()
1080 err = brcmf_do_escan(cfg, wiphy, vif->ifp, request); in brcmf_cfg80211_escan()
1132 brcmf_cfg80211_scan(struct wiphy *wiphy, struct cfg80211_scan_request *request) in brcmf_cfg80211_scan() argument
1142 err = brcmf_cfg80211_escan(wiphy, vif, request, NULL); in brcmf_cfg80211_scan()
1188 static s32 brcmf_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed) in brcmf_cfg80211_set_wiphy_params() argument
1190 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_wiphy_params()
1200 (cfg->conf->rts_threshold != wiphy->rts_threshold)) { in brcmf_cfg80211_set_wiphy_params()
1201 cfg->conf->rts_threshold = wiphy->rts_threshold; in brcmf_cfg80211_set_wiphy_params()
1207 (cfg->conf->frag_threshold != wiphy->frag_threshold)) { in brcmf_cfg80211_set_wiphy_params()
1208 cfg->conf->frag_threshold = wiphy->frag_threshold; in brcmf_cfg80211_set_wiphy_params()
1214 && (cfg->conf->retry_long != wiphy->retry_long)) { in brcmf_cfg80211_set_wiphy_params()
1215 cfg->conf->retry_long = wiphy->retry_long; in brcmf_cfg80211_set_wiphy_params()
1221 && (cfg->conf->retry_short != wiphy->retry_short)) { in brcmf_cfg80211_set_wiphy_params()
1222 cfg->conf->retry_short = wiphy->retry_short; in brcmf_cfg80211_set_wiphy_params()
1258 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(vif->wdev.wiphy); in brcmf_link_down()
1282 brcmf_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_join_ibss() argument
1285 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_join_ibss()
1434 brcmf_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *ndev) in brcmf_cfg80211_leave_ibss() argument
1726 brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_connect() argument
1729 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_connect()
1924 brcmf_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_disconnect() argument
1952 brcmf_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, in brcmf_cfg80211_set_tx_power() argument
1955 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_tx_power()
2002 brcmf_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, in brcmf_cfg80211_get_tx_power() argument
2005 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_get_tx_power()
2028 brcmf_cfg80211_config_default_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_config_default_key() argument
2061 brcmf_add_keyext(struct wiphy *wiphy, struct net_device *ndev, in brcmf_add_keyext() argument
2143 brcmf_cfg80211_add_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_add_key() argument
2169 return brcmf_add_keyext(wiphy, ndev, key_idx, mac_addr, params); in brcmf_cfg80211_add_key()
2246 brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_del_key() argument
2278 brcmf_cfg80211_get_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_get_key() argument
2331 brcmf_cfg80211_config_default_mgmt_key(struct wiphy *wiphy, in brcmf_cfg80211_config_default_mgmt_key() argument
2426 brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_get_station() argument
2524 brcmf_cfg80211_dump_station(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_dump_station() argument
2527 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_dump_station()
2547 return brcmf_cfg80211_get_station(wiphy, ndev, mac, sinfo); in brcmf_cfg80211_dump_station()
2553 brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_set_power_mgmt() argument
2558 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_power_mgmt()
2600 struct wiphy *wiphy = cfg_to_wiphy(cfg); in brcmf_inform_single_bss() local
2626 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in brcmf_inform_single_bss()
2628 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in brcmf_inform_single_bss()
2631 notify_channel = ieee80211_get_channel(wiphy, freq); in brcmf_inform_single_bss()
2645 bss = cfg80211_inform_bss(wiphy, notify_channel, in brcmf_inform_single_bss()
2656 cfg80211_put_bss(wiphy, bss); in brcmf_inform_single_bss()
2697 struct wiphy *wiphy = cfg_to_wiphy(cfg); in wl_inform_ibss() local
2735 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in wl_inform_ibss()
2737 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in wl_inform_ibss()
2740 notify_channel = ieee80211_get_channel(wiphy, freq); in wl_inform_ibss()
2753 bss = cfg80211_inform_bss(wiphy, notify_channel, in wl_inform_ibss()
2764 cfg80211_put_bss(wiphy, bss); in wl_inform_ibss()
3064 static s32 brcmf_cfg80211_resume(struct wiphy *wiphy) in brcmf_cfg80211_resume() argument
3066 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_resume()
3117 static s32 brcmf_cfg80211_suspend(struct wiphy *wiphy, in brcmf_cfg80211_suspend() argument
3120 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_suspend()
3194 brcmf_cfg80211_set_pmksa(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_set_pmksa() argument
3197 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_pmksa()
3233 brcmf_cfg80211_del_pmksa(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_del_pmksa() argument
3236 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_del_pmksa()
3285 brcmf_cfg80211_flush_pmksa(struct wiphy *wiphy, struct net_device *ndev) in brcmf_cfg80211_flush_pmksa() argument
3287 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_flush_pmksa()
3320 struct wiphy *wiphy = cfg_to_wiphy(cfg); in brcmf_notify_sched_scan_results() local
3356 request->wiphy = wiphy; in brcmf_notify_sched_scan_results()
3400 err = brcmf_do_escan(cfg, wiphy, ifp, request); in brcmf_notify_sched_scan_results()
3421 cfg80211_sched_scan_stopped(wiphy); in brcmf_notify_sched_scan_results()
3462 brcmf_cfg80211_sched_scan_start(struct wiphy *wiphy, in brcmf_cfg80211_sched_scan_start() argument
3467 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_sched_scan_start()
3554 static int brcmf_cfg80211_sched_scan_stop(struct wiphy *wiphy, in brcmf_cfg80211_sched_scan_stop() argument
3557 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_sched_scan_stop()
4059 brcmf_cfg80211_start_ap(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_start_ap() argument
4063 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_start_ap()
4264 static int brcmf_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *ndev) in brcmf_cfg80211_stop_ap() argument
4325 brcmf_cfg80211_change_beacon(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_change_beacon() argument
4339 brcmf_cfg80211_del_station(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_del_station() argument
4342 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_del_station()
4369 brcmf_cfg80211_change_station(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_change_station() argument
4398 brcmf_cfg80211_mgmt_frame_register(struct wiphy *wiphy, in brcmf_cfg80211_mgmt_frame_register() argument
4417 brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, in brcmf_cfg80211_mgmt_tx() argument
4420 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_mgmt_tx()
4520 brcmf_cfg80211_cancel_remain_on_channel(struct wiphy *wiphy, in brcmf_cfg80211_cancel_remain_on_channel() argument
4524 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_cancel_remain_on_channel()
4541 static int brcmf_cfg80211_crit_proto_start(struct wiphy *wiphy, in brcmf_cfg80211_crit_proto_start() argument
4546 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_crit_proto_start()
4562 static void brcmf_cfg80211_crit_proto_stop(struct wiphy *wiphy, in brcmf_cfg80211_crit_proto_stop() argument
4565 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_crit_proto_stop()
4616 static int brcmf_cfg80211_tdls_oper(struct wiphy *wiphy, in brcmf_cfg80211_tdls_oper() argument
4699 vif->wdev.wiphy = cfg->wiphy; in brcmf_alloc_vif()
4867 struct wiphy *wiphy = cfg_to_wiphy(cfg); in brcmf_bss_roaming_done() local
4901 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in brcmf_bss_roaming_done()
4903 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in brcmf_bss_roaming_done()
4906 notify_channel = ieee80211_get_channel(wiphy, freq); in brcmf_bss_roaming_done()
5019 chan = ieee80211_get_channel(cfg->wiphy, cfg->channel); in brcmf_notify_connect_status()
5116 SET_NETDEV_DEV(ifp->ndev, wiphy_dev(cfg->wiphy)); in brcmf_notify_vif_event()
5372 struct wiphy *wiphy; in brcmf_construct_chaninfo() local
5396 wiphy = cfg_to_wiphy(cfg); in brcmf_construct_chaninfo()
5397 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in brcmf_construct_chaninfo()
5401 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in brcmf_construct_chaninfo()
5412 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in brcmf_construct_chaninfo()
5414 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in brcmf_construct_chaninfo()
5643 static int brcmf_setup_wiphybands(struct wiphy *wiphy) in brcmf_setup_wiphybands() argument
5645 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_setup_wiphybands()
5683 wiphy = cfg_to_wiphy(cfg); in brcmf_setup_wiphybands()
5684 for (i = 0; i < ARRAY_SIZE(wiphy->bands); i++) { in brcmf_setup_wiphybands()
5685 band = wiphy->bands[i]; in brcmf_setup_wiphybands()
5757 static int brcmf_setup_ifmodes(struct wiphy *wiphy, struct brcmf_if *ifp) in brcmf_setup_ifmodes() argument
5790 wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | in brcmf_setup_ifmodes()
5802 wiphy->interface_modes |= BIT(NL80211_IFTYPE_P2P_CLIENT) | in brcmf_setup_ifmodes()
5845 wiphy->n_iface_combinations = n_combos; in brcmf_setup_ifmodes()
5846 wiphy->iface_combinations = combo; in brcmf_setup_ifmodes()
5857 static void brcmf_wiphy_pno_params(struct wiphy *wiphy) in brcmf_wiphy_pno_params() argument
5860 wiphy->max_sched_scan_ssids = BRCMF_PNO_MAX_PFN_COUNT; in brcmf_wiphy_pno_params()
5861 wiphy->max_match_sets = BRCMF_PNO_MAX_PFN_COUNT; in brcmf_wiphy_pno_params()
5862 wiphy->max_sched_scan_ie_len = BRCMF_SCAN_IE_LEN_MAX; in brcmf_wiphy_pno_params()
5863 wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN; in brcmf_wiphy_pno_params()
5876 static void brcmf_wiphy_wowl_params(struct wiphy *wiphy) in brcmf_wiphy_wowl_params() argument
5880 wiphy->wowlan = &brcmf_wowlan_support; in brcmf_wiphy_wowl_params()
5884 static int brcmf_setup_wiphy(struct wiphy *wiphy, struct brcmf_if *ifp) in brcmf_setup_wiphy() argument
5894 wiphy->max_scan_ssids = WL_NUM_SCAN_MAX; in brcmf_setup_wiphy()
5895 wiphy->max_scan_ie_len = BRCMF_SCAN_IE_LEN_MAX; in brcmf_setup_wiphy()
5896 wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX; in brcmf_setup_wiphy()
5898 err = brcmf_setup_ifmodes(wiphy, ifp); in brcmf_setup_wiphy()
5902 for (i = 0, combo = wiphy->iface_combinations; in brcmf_setup_wiphy()
5903 i < wiphy->n_iface_combinations; i++, combo++) { in brcmf_setup_wiphy()
5917 wiphy->addresses = drvr->addresses; in brcmf_setup_wiphy()
5918 wiphy->n_addresses = i; in brcmf_setup_wiphy()
5920 wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM; in brcmf_setup_wiphy()
5921 wiphy->cipher_suites = __wl_cipher_suites; in brcmf_setup_wiphy()
5922 wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites); in brcmf_setup_wiphy()
5923 wiphy->flags |= WIPHY_FLAG_PS_ON_BY_DEFAULT | in brcmf_setup_wiphy()
5928 wiphy->flags |= WIPHY_FLAG_SUPPORTS_FW_ROAM; in brcmf_setup_wiphy()
5929 wiphy->mgmt_stypes = brcmf_txrx_stypes; in brcmf_setup_wiphy()
5930 wiphy->max_remain_on_channel_duration = 5000; in brcmf_setup_wiphy()
5932 brcmf_wiphy_pno_params(wiphy); in brcmf_setup_wiphy()
5935 wiphy->vendor_commands = brcmf_vendor_cmds; in brcmf_setup_wiphy()
5936 wiphy->n_vendor_commands = BRCMF_VNDR_CMDS_LAST - 1; in brcmf_setup_wiphy()
5939 brcmf_wiphy_wowl_params(wiphy); in brcmf_setup_wiphy()
5965 wiphy->bands[IEEE80211_BAND_2GHZ] = band; in brcmf_setup_wiphy()
5982 wiphy->bands[IEEE80211_BAND_5GHZ] = band; in brcmf_setup_wiphy()
5985 err = brcmf_setup_wiphybands(wiphy); in brcmf_setup_wiphy()
6020 err = brcmf_cfg80211_change_iface(wdev->wiphy, ndev, wdev->iftype, in brcmf_config_dongle()
6152 static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, in brcmf_cfg80211_reg_notifier() argument
6155 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_reg_notifier()
6176 brcmf_setup_wiphybands(wiphy); in brcmf_cfg80211_reg_notifier()
6179 static void brcmf_free_wiphy(struct wiphy *wiphy) in brcmf_free_wiphy() argument
6183 if (!wiphy) in brcmf_free_wiphy()
6186 if (wiphy->iface_combinations) { in brcmf_free_wiphy()
6187 for (i = 0; i < wiphy->n_iface_combinations; i++) in brcmf_free_wiphy()
6188 kfree(wiphy->iface_combinations[i].limits); in brcmf_free_wiphy()
6190 kfree(wiphy->iface_combinations); in brcmf_free_wiphy()
6191 if (wiphy->bands[IEEE80211_BAND_2GHZ]) { in brcmf_free_wiphy()
6192 kfree(wiphy->bands[IEEE80211_BAND_2GHZ]->channels); in brcmf_free_wiphy()
6193 kfree(wiphy->bands[IEEE80211_BAND_2GHZ]); in brcmf_free_wiphy()
6195 if (wiphy->bands[IEEE80211_BAND_5GHZ]) { in brcmf_free_wiphy()
6196 kfree(wiphy->bands[IEEE80211_BAND_5GHZ]->channels); in brcmf_free_wiphy()
6197 kfree(wiphy->bands[IEEE80211_BAND_5GHZ]); in brcmf_free_wiphy()
6199 wiphy_free(wiphy); in brcmf_free_wiphy()
6208 struct wiphy *wiphy; in brcmf_cfg80211_attach() local
6221 wiphy = wiphy_new(&wl_cfg80211_ops, sizeof(struct brcmf_cfg80211_info)); in brcmf_cfg80211_attach()
6222 if (!wiphy) { in brcmf_cfg80211_attach()
6226 memcpy(wiphy->perm_addr, drvr->mac, ETH_ALEN); in brcmf_cfg80211_attach()
6227 set_wiphy_dev(wiphy, busdev); in brcmf_cfg80211_attach()
6229 cfg = wiphy_priv(wiphy); in brcmf_cfg80211_attach()
6230 cfg->wiphy = wiphy; in brcmf_cfg80211_attach()
6242 SET_NETDEV_DEV(ndev, wiphy_dev(cfg->wiphy)); in brcmf_cfg80211_attach()
6261 err = brcmf_setup_wiphy(wiphy, ifp); in brcmf_cfg80211_attach()
6266 wiphy->reg_notifier = brcmf_cfg80211_reg_notifier; in brcmf_cfg80211_attach()
6267 wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG; in brcmf_cfg80211_attach()
6268 wiphy_apply_custom_regulatory(wiphy, &brcmf_regdom); in brcmf_cfg80211_attach()
6274 if (wiphy->bands[IEEE80211_BAND_2GHZ]) { in brcmf_cfg80211_attach()
6275 cap = &wiphy->bands[IEEE80211_BAND_2GHZ]->ht_cap.cap; in brcmf_cfg80211_attach()
6278 err = wiphy_register(wiphy); in brcmf_cfg80211_attach()
6322 wiphy->flags &= ~WIPHY_FLAG_SUPPORTS_TDLS; in brcmf_cfg80211_attach()
6338 wiphy_unregister(cfg->wiphy); in brcmf_cfg80211_attach()
6344 brcmf_free_wiphy(wiphy); in brcmf_cfg80211_attach()
6354 wiphy_unregister(cfg->wiphy); in brcmf_cfg80211_detach()
6356 brcmf_free_wiphy(cfg->wiphy); in brcmf_cfg80211_detach()