Lines Matching refs:wilc

28 	struct wilc *wilc = user_data;
30 if (wilc->close) {
39 struct wilc *wilc = userdata;
41 if (wilc->close) {
46 wilc_handle_isr(wilc);
54 struct wilc *wl = vif->wilc;
73 struct wilc *wilc = vif->wilc;
76 if (wilc->dev_irq_num)
77 free_irq(wilc->dev_irq_num, wilc);
80 void wilc_mac_indicate(struct wilc *wilc)
84 wilc_wlan_cfg_get_val(wilc, WID_STATUS, &status, 1);
85 if (wilc->mac_status == WILC_MAC_STATUS_INIT) {
86 wilc->mac_status = status;
87 complete(&wilc->sync_event);
89 wilc->mac_status = status;
93 static struct net_device *get_if_handler(struct wilc *wilc, u8 *mac_header)
99 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
128 int wilc_wlan_get_num_conn_ifcs(struct wilc *wilc)
134 srcu_idx = srcu_read_lock(&wilc->srcu);
135 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
139 srcu_read_unlock(&wilc->srcu, srcu_idx);
147 struct wilc *wl = vp;
182 struct wilc *wilc = vif->wilc;
187 chip_id = wilc_get_chipid(wilc, false);
193 wilc->dev);
199 wilc->firmware = wilc_fw;
207 struct wilc *wilc = vif->wilc;
210 ret = wilc_wlan_start(wilc);
214 if (!wait_for_completion_timeout(&wilc->sync_event,
224 struct wilc *wilc = vif->wilc;
227 if (!wilc->firmware) {
232 ret = wilc_wlan_firmware_download(wilc, wilc->firmware->data,
233 wilc->firmware->size);
237 release_firmware(wilc->firmware);
238 wilc->firmware = NULL;
419 struct wilc *wl = vif->wilc;
434 struct wilc *wl = vif->wilc;
469 struct wilc *wilc = vif->wilc;
471 wilc->txq_thread = kthread_run(wilc_txq_task, (void *)wilc,
473 if (IS_ERR(wilc->txq_thread)) {
475 wilc->close = 1;
476 return PTR_ERR(wilc->txq_thread);
478 wait_for_completion(&wilc->txq_thread_started);
486 struct wilc *wl = vif->wilc;
575 struct wilc *wl = vif->wilc;
639 struct wilc *wilc = vif->wilc;
655 srcu_idx = srcu_read_lock(&wilc->srcu);
656 list_for_each_entry_rcu(tmp_vif, &wilc->vif_list, list) {
660 srcu_read_unlock(&wilc->srcu, srcu_idx);
663 srcu_read_unlock(&wilc->srcu, srcu_idx);
667 srcu_read_unlock(&wilc->srcu, srcu_idx);
727 struct wilc *wilc = vif->wilc;
758 srcu_idx = srcu_read_lock(&wilc->srcu);
759 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
763 srcu_read_unlock(&wilc->srcu, srcu_idx);
772 struct wilc *wl = vif->wilc;
799 void wilc_frmw_to_host(struct wilc *wilc, u8 *buff, u32 size,
809 if (!wilc)
812 wilc_netdev = get_if_handler(wilc, buff);
840 void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size, bool is_auth)
845 srcu_idx = srcu_read_lock(&wilc->srcu);
846 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
864 wilc_wfi_monitor_rx(wilc->monitor_dev, buff, size);
866 srcu_read_unlock(&wilc->srcu, srcu_idx);
879 void wilc_netdev_cleanup(struct wilc *wilc)
883 if (!wilc)
886 if (wilc->firmware) {
887 release_firmware(wilc->firmware);
888 wilc->firmware = NULL;
891 list_for_each_entry_safe(vif, vif_tmp, &wilc->vif_list, list) {
892 mutex_lock(&wilc->vif_mutex);
894 wilc->vif_num--;
895 mutex_unlock(&wilc->vif_mutex);
896 synchronize_srcu(&wilc->srcu);
901 wilc_wfi_deinit_mon_interface(wilc, false);
902 destroy_workqueue(wilc->hif_workqueue);
904 wilc_wlan_cfg_deinit(wilc);
905 wlan_deinit_locks(wilc);
906 wiphy_unregister(wilc->wiphy);
907 wiphy_free(wilc->wiphy);
911 static u8 wilc_get_available_idx(struct wilc *wl)
928 struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
943 vif->wilc = wl;