Lines Matching refs:wiphy
556 struct wireless_dev *brcmf_ap_add_vif(struct wiphy *wiphy, const char *name, in brcmf_ap_add_vif() argument
559 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_ap_add_vif()
626 static struct wireless_dev *brcmf_cfg80211_add_iface(struct wiphy *wiphy, in brcmf_cfg80211_add_iface() argument
645 wdev = brcmf_ap_add_vif(wiphy, name, flags, params); in brcmf_cfg80211_add_iface()
652 wdev = brcmf_p2p_add_vif(wiphy, name, name_assign_type, type, flags, params); in brcmf_cfg80211_add_iface()
744 int brcmf_cfg80211_del_iface(struct wiphy *wiphy, struct wireless_dev *wdev) in brcmf_cfg80211_del_iface() argument
746 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_del_iface()
774 return brcmf_p2p_del_vif(wiphy, wdev); in brcmf_cfg80211_del_iface()
783 brcmf_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_change_iface() argument
787 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_change_iface()
983 brcmf_do_escan(struct brcmf_cfg80211_info *cfg, struct wiphy *wiphy, in brcmf_do_escan() argument
993 escan->wiphy = wiphy; in brcmf_do_escan()
1015 brcmf_cfg80211_escan(struct wiphy *wiphy, struct brcmf_cfg80211_vif *vif, in brcmf_cfg80211_escan() argument
1020 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_escan()
1069 err = brcmf_p2p_scan_prep(wiphy, request, vif); in brcmf_cfg80211_escan()
1073 err = brcmf_do_escan(cfg, wiphy, vif->ifp, request); in brcmf_cfg80211_escan()
1125 brcmf_cfg80211_scan(struct wiphy *wiphy, struct cfg80211_scan_request *request) in brcmf_cfg80211_scan() argument
1135 err = brcmf_cfg80211_escan(wiphy, vif, request, NULL); in brcmf_cfg80211_scan()
1181 static s32 brcmf_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed) in brcmf_cfg80211_set_wiphy_params() argument
1183 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_wiphy_params()
1193 (cfg->conf->rts_threshold != wiphy->rts_threshold)) { in brcmf_cfg80211_set_wiphy_params()
1194 cfg->conf->rts_threshold = wiphy->rts_threshold; in brcmf_cfg80211_set_wiphy_params()
1200 (cfg->conf->frag_threshold != wiphy->frag_threshold)) { in brcmf_cfg80211_set_wiphy_params()
1201 cfg->conf->frag_threshold = wiphy->frag_threshold; in brcmf_cfg80211_set_wiphy_params()
1207 && (cfg->conf->retry_long != wiphy->retry_long)) { in brcmf_cfg80211_set_wiphy_params()
1208 cfg->conf->retry_long = wiphy->retry_long; in brcmf_cfg80211_set_wiphy_params()
1214 && (cfg->conf->retry_short != wiphy->retry_short)) { in brcmf_cfg80211_set_wiphy_params()
1215 cfg->conf->retry_short = wiphy->retry_short; in brcmf_cfg80211_set_wiphy_params()
1251 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(vif->wdev.wiphy); in brcmf_link_down()
1275 brcmf_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_join_ibss() argument
1278 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_join_ibss()
1427 brcmf_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *ndev) in brcmf_cfg80211_leave_ibss() argument
1719 brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_connect() argument
1722 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_connect()
1917 brcmf_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_disconnect() argument
1945 brcmf_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, in brcmf_cfg80211_set_tx_power() argument
1949 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_tx_power()
1994 static s32 brcmf_cfg80211_get_tx_power(struct wiphy *wiphy, in brcmf_cfg80211_get_tx_power() argument
1998 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_get_tx_power()
2023 brcmf_cfg80211_config_default_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_config_default_key() argument
2056 brcmf_add_keyext(struct wiphy *wiphy, struct net_device *ndev, in brcmf_add_keyext() argument
2138 brcmf_cfg80211_add_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_add_key() argument
2164 return brcmf_add_keyext(wiphy, ndev, key_idx, mac_addr, params); in brcmf_cfg80211_add_key()
2241 brcmf_cfg80211_del_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_del_key() argument
2273 brcmf_cfg80211_get_key(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_get_key() argument
2326 brcmf_cfg80211_config_default_mgmt_key(struct wiphy *wiphy, in brcmf_cfg80211_config_default_mgmt_key() argument
2368 brcmf_cfg80211_get_station(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_get_station() argument
2468 brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_set_power_mgmt() argument
2473 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_power_mgmt()
2515 struct wiphy *wiphy = cfg_to_wiphy(cfg); in brcmf_inform_single_bss() local
2541 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in brcmf_inform_single_bss()
2543 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in brcmf_inform_single_bss()
2546 notify_channel = ieee80211_get_channel(wiphy, freq); in brcmf_inform_single_bss()
2560 bss = cfg80211_inform_bss(wiphy, notify_channel, in brcmf_inform_single_bss()
2571 cfg80211_put_bss(wiphy, bss); in brcmf_inform_single_bss()
2612 struct wiphy *wiphy = cfg_to_wiphy(cfg); in wl_inform_ibss() local
2650 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in wl_inform_ibss()
2652 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in wl_inform_ibss()
2655 notify_channel = ieee80211_get_channel(wiphy, freq); in wl_inform_ibss()
2668 bss = cfg80211_inform_bss(wiphy, notify_channel, in wl_inform_ibss()
2679 cfg80211_put_bss(wiphy, bss); in wl_inform_ibss()
2979 static s32 brcmf_cfg80211_resume(struct wiphy *wiphy) in brcmf_cfg80211_resume() argument
2981 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_resume()
3032 static s32 brcmf_cfg80211_suspend(struct wiphy *wiphy, in brcmf_cfg80211_suspend() argument
3035 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_suspend()
3109 brcmf_cfg80211_set_pmksa(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_set_pmksa() argument
3112 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_set_pmksa()
3148 brcmf_cfg80211_del_pmksa(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_del_pmksa() argument
3151 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_del_pmksa()
3200 brcmf_cfg80211_flush_pmksa(struct wiphy *wiphy, struct net_device *ndev) in brcmf_cfg80211_flush_pmksa() argument
3202 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_flush_pmksa()
3235 struct wiphy *wiphy = cfg_to_wiphy(cfg); in brcmf_notify_sched_scan_results() local
3271 request->wiphy = wiphy; in brcmf_notify_sched_scan_results()
3315 err = brcmf_do_escan(cfg, wiphy, ifp, request); in brcmf_notify_sched_scan_results()
3336 cfg80211_sched_scan_stopped(wiphy); in brcmf_notify_sched_scan_results()
3377 brcmf_cfg80211_sched_scan_start(struct wiphy *wiphy, in brcmf_cfg80211_sched_scan_start() argument
3382 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_sched_scan_start()
3469 static int brcmf_cfg80211_sched_scan_stop(struct wiphy *wiphy, in brcmf_cfg80211_sched_scan_stop() argument
3472 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_sched_scan_stop()
3974 brcmf_cfg80211_start_ap(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_start_ap() argument
3978 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_start_ap()
4179 static int brcmf_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *ndev) in brcmf_cfg80211_stop_ap() argument
4240 brcmf_cfg80211_change_beacon(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_change_beacon() argument
4254 brcmf_cfg80211_del_station(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_del_station() argument
4257 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_del_station()
4284 brcmf_cfg80211_change_station(struct wiphy *wiphy, struct net_device *ndev, in brcmf_cfg80211_change_station() argument
4313 brcmf_cfg80211_mgmt_frame_register(struct wiphy *wiphy, in brcmf_cfg80211_mgmt_frame_register() argument
4332 brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, in brcmf_cfg80211_mgmt_tx() argument
4335 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_mgmt_tx()
4435 brcmf_cfg80211_cancel_remain_on_channel(struct wiphy *wiphy, in brcmf_cfg80211_cancel_remain_on_channel() argument
4439 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_cancel_remain_on_channel()
4456 static int brcmf_cfg80211_crit_proto_start(struct wiphy *wiphy, in brcmf_cfg80211_crit_proto_start() argument
4461 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_crit_proto_start()
4477 static void brcmf_cfg80211_crit_proto_stop(struct wiphy *wiphy, in brcmf_cfg80211_crit_proto_stop() argument
4480 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); in brcmf_cfg80211_crit_proto_stop()
4531 static int brcmf_cfg80211_tdls_oper(struct wiphy *wiphy, in brcmf_cfg80211_tdls_oper() argument
4613 vif->wdev.wiphy = cfg->wiphy; in brcmf_alloc_vif()
4780 struct wiphy *wiphy = cfg_to_wiphy(cfg); in brcmf_bss_roaming_done() local
4814 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in brcmf_bss_roaming_done()
4816 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in brcmf_bss_roaming_done()
4819 notify_channel = ieee80211_get_channel(wiphy, freq); in brcmf_bss_roaming_done()
4932 chan = ieee80211_get_channel(cfg->wiphy, cfg->channel); in brcmf_notify_connect_status()
5027 SET_NETDEV_DEV(ifp->ndev, wiphy_dev(cfg->wiphy)); in brcmf_notify_vif_event()
5317 struct wiphy *wiphy; in brcmf_construct_chaninfo() local
5343 wiphy = cfg_to_wiphy(cfg); in brcmf_construct_chaninfo()
5359 wiphy->bands[IEEE80211_BAND_2GHZ] = band; in brcmf_construct_chaninfo()
5376 wiphy->bands[IEEE80211_BAND_5GHZ] = band; in brcmf_construct_chaninfo()
5385 band = wiphy->bands[IEEE80211_BAND_2GHZ]; in brcmf_construct_chaninfo()
5387 band = wiphy->bands[IEEE80211_BAND_5GHZ]; in brcmf_construct_chaninfo()
5447 kfree(wiphy->bands[IEEE80211_BAND_2GHZ]->channels); in brcmf_construct_chaninfo()
5448 kfree(wiphy->bands[IEEE80211_BAND_2GHZ]); in brcmf_construct_chaninfo()
5449 wiphy->bands[IEEE80211_BAND_2GHZ] = NULL; in brcmf_construct_chaninfo()
5622 static int brcmf_setup_wiphybands(struct wiphy *wiphy) in brcmf_setup_wiphybands() argument
5624 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_setup_wiphybands()
5662 wiphy = cfg_to_wiphy(cfg); in brcmf_setup_wiphybands()
5663 for (i = 0; i < ARRAY_SIZE(wiphy->bands); i++) { in brcmf_setup_wiphybands()
5664 band = wiphy->bands[i]; in brcmf_setup_wiphybands()
5753 static void brcmf_wiphy_pno_params(struct wiphy *wiphy) in brcmf_wiphy_pno_params() argument
5756 wiphy->max_sched_scan_ssids = BRCMF_PNO_MAX_PFN_COUNT; in brcmf_wiphy_pno_params()
5757 wiphy->max_match_sets = BRCMF_PNO_MAX_PFN_COUNT; in brcmf_wiphy_pno_params()
5758 wiphy->max_sched_scan_ie_len = BRCMF_SCAN_IE_LEN_MAX; in brcmf_wiphy_pno_params()
5759 wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN; in brcmf_wiphy_pno_params()
5772 static void brcmf_wiphy_wowl_params(struct wiphy *wiphy) in brcmf_wiphy_wowl_params() argument
5776 wiphy->wowlan = &brcmf_wowlan_support; in brcmf_wiphy_wowl_params()
5780 static int brcmf_setup_wiphy(struct wiphy *wiphy, struct brcmf_if *ifp) in brcmf_setup_wiphy() argument
5783 wiphy->max_scan_ssids = WL_NUM_SCAN_MAX; in brcmf_setup_wiphy()
5784 wiphy->max_scan_ie_len = BRCMF_SCAN_IE_LEN_MAX; in brcmf_setup_wiphy()
5785 wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX; in brcmf_setup_wiphy()
5786 wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | in brcmf_setup_wiphy()
5800 wiphy->iface_combinations = kmemdup(&ifc_combo, in brcmf_setup_wiphy()
5803 wiphy->n_iface_combinations = ARRAY_SIZE(brcmf_iface_combos); in brcmf_setup_wiphy()
5804 wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM; in brcmf_setup_wiphy()
5805 wiphy->cipher_suites = __wl_cipher_suites; in brcmf_setup_wiphy()
5806 wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites); in brcmf_setup_wiphy()
5807 wiphy->flags |= WIPHY_FLAG_PS_ON_BY_DEFAULT | in brcmf_setup_wiphy()
5812 wiphy->flags |= WIPHY_FLAG_SUPPORTS_FW_ROAM; in brcmf_setup_wiphy()
5813 wiphy->mgmt_stypes = brcmf_txrx_stypes; in brcmf_setup_wiphy()
5814 wiphy->max_remain_on_channel_duration = 5000; in brcmf_setup_wiphy()
5815 brcmf_wiphy_pno_params(wiphy); in brcmf_setup_wiphy()
5818 wiphy->vendor_commands = brcmf_vendor_cmds; in brcmf_setup_wiphy()
5819 wiphy->n_vendor_commands = BRCMF_VNDR_CMDS_LAST - 1; in brcmf_setup_wiphy()
5822 brcmf_wiphy_wowl_params(wiphy); in brcmf_setup_wiphy()
5824 return brcmf_setup_wiphybands(wiphy); in brcmf_setup_wiphy()
5858 err = brcmf_cfg80211_change_iface(wdev->wiphy, ndev, wdev->iftype, in brcmf_config_dongle()
5990 static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, in brcmf_cfg80211_reg_notifier() argument
5993 struct brcmf_cfg80211_info *cfg = wiphy_priv(wiphy); in brcmf_cfg80211_reg_notifier()
6013 static void brcmf_free_wiphy(struct wiphy *wiphy) in brcmf_free_wiphy() argument
6015 kfree(wiphy->iface_combinations); in brcmf_free_wiphy()
6016 if (wiphy->bands[IEEE80211_BAND_2GHZ]) { in brcmf_free_wiphy()
6017 kfree(wiphy->bands[IEEE80211_BAND_2GHZ]->channels); in brcmf_free_wiphy()
6018 kfree(wiphy->bands[IEEE80211_BAND_2GHZ]); in brcmf_free_wiphy()
6020 if (wiphy->bands[IEEE80211_BAND_5GHZ]) { in brcmf_free_wiphy()
6021 kfree(wiphy->bands[IEEE80211_BAND_5GHZ]->channels); in brcmf_free_wiphy()
6022 kfree(wiphy->bands[IEEE80211_BAND_5GHZ]); in brcmf_free_wiphy()
6024 wiphy_free(wiphy); in brcmf_free_wiphy()
6032 struct wiphy *wiphy; in brcmf_cfg80211_attach() local
6045 wiphy = wiphy_new(&wl_cfg80211_ops, sizeof(struct brcmf_cfg80211_info)); in brcmf_cfg80211_attach()
6046 if (!wiphy) { in brcmf_cfg80211_attach()
6050 set_wiphy_dev(wiphy, busdev); in brcmf_cfg80211_attach()
6052 cfg = wiphy_priv(wiphy); in brcmf_cfg80211_attach()
6053 cfg->wiphy = wiphy; in brcmf_cfg80211_attach()
6065 SET_NETDEV_DEV(ndev, wiphy_dev(cfg->wiphy)); in brcmf_cfg80211_attach()
6084 err = brcmf_setup_wiphy(wiphy, ifp); in brcmf_cfg80211_attach()
6089 wiphy->reg_notifier = brcmf_cfg80211_reg_notifier; in brcmf_cfg80211_attach()
6090 wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG; in brcmf_cfg80211_attach()
6091 wiphy_apply_custom_regulatory(wiphy, &brcmf_regdom); in brcmf_cfg80211_attach()
6097 if (wiphy->bands[IEEE80211_BAND_2GHZ]) { in brcmf_cfg80211_attach()
6098 cap = &wiphy->bands[IEEE80211_BAND_2GHZ]->ht_cap.cap; in brcmf_cfg80211_attach()
6101 err = wiphy_register(wiphy); in brcmf_cfg80211_attach()
6134 wiphy->flags &= ~WIPHY_FLAG_SUPPORTS_TDLS; in brcmf_cfg80211_attach()
6143 wiphy_unregister(cfg->wiphy); in brcmf_cfg80211_attach()
6148 brcmf_free_wiphy(wiphy); in brcmf_cfg80211_attach()
6158 wiphy_unregister(cfg->wiphy); in brcmf_cfg80211_detach()
6162 brcmf_free_wiphy(cfg->wiphy); in brcmf_cfg80211_detach()