Lines Matching defs:wilc

29 	struct wilc *wilc = vif->wilc;
31 if (wilc->close) {
42 struct wilc *wilc = vif->wilc;
44 if (wilc->close) {
49 wilc_handle_isr(wilc);
57 struct wilc *wl = vif->wilc;
76 struct wilc *wilc = vif->wilc;
79 if (wilc->dev_irq_num)
80 free_irq(wilc->dev_irq_num, wilc);
83 void wilc_mac_indicate(struct wilc *wilc)
87 wilc_wlan_cfg_get_val(wilc, WID_STATUS, &status, 1);
88 if (wilc->mac_status == WILC_MAC_STATUS_INIT) {
89 wilc->mac_status = status;
90 complete(&wilc->sync_event);
92 wilc->mac_status = status;
96 static struct net_device *get_if_handler(struct wilc *wilc, u8 *mac_header)
102 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
130 int wilc_wlan_get_num_conn_ifcs(struct wilc *wilc)
136 srcu_idx = srcu_read_lock(&wilc->srcu);
137 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
141 srcu_read_unlock(&wilc->srcu, srcu_idx);
149 struct wilc *wl = vp;
184 struct wilc *wilc = vif->wilc;
189 chip_id = wilc_get_chipid(wilc, false);
195 wilc->dev);
201 wilc->firmware = wilc_fw;
209 struct wilc *wilc = vif->wilc;
212 ret = wilc_wlan_start(wilc);
216 if (!wait_for_completion_timeout(&wilc->sync_event,
226 struct wilc *wilc = vif->wilc;
229 if (!wilc->firmware) {
234 ret = wilc_wlan_firmware_download(wilc, wilc->firmware->data,
235 wilc->firmware->size);
239 release_firmware(wilc->firmware);
240 wilc->firmware = NULL;
421 struct wilc *wl = vif->wilc;
436 struct wilc *wl = vif->wilc;
471 struct wilc *wilc = vif->wilc;
473 wilc->txq_thread = kthread_run(wilc_txq_task, (void *)wilc,
475 if (IS_ERR(wilc->txq_thread)) {
477 wilc->close = 0;
478 return PTR_ERR(wilc->txq_thread);
480 wait_for_completion(&wilc->txq_thread_started);
488 struct wilc *wl = vif->wilc;
577 struct wilc *wl = vif->wilc;
681 struct wilc *wilc = vif->wilc;
712 srcu_idx = srcu_read_lock(&wilc->srcu);
713 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
717 srcu_read_unlock(&wilc->srcu, srcu_idx);
726 struct wilc *wl = vif->wilc;
752 void wilc_frmw_to_host(struct wilc *wilc, u8 *buff, u32 size,
762 if (!wilc)
765 wilc_netdev = get_if_handler(wilc, buff);
793 void wilc_wfi_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size)
798 srcu_idx = srcu_read_lock(&wilc->srcu);
799 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
808 wilc_wfi_monitor_rx(wilc->monitor_dev, buff, size);
810 srcu_read_unlock(&wilc->srcu, srcu_idx);
822 void wilc_netdev_cleanup(struct wilc *wilc)
827 if (!wilc)
830 if (wilc->firmware) {
831 release_firmware(wilc->firmware);
832 wilc->firmware = NULL;
835 srcu_idx = srcu_read_lock(&wilc->srcu);
836 list_for_each_entry_rcu(vif, &wilc->vif_list, list) {
840 srcu_read_unlock(&wilc->srcu, srcu_idx);
842 wilc_wfi_deinit_mon_interface(wilc, false);
843 flush_workqueue(wilc->hif_workqueue);
844 destroy_workqueue(wilc->hif_workqueue);
847 mutex_lock(&wilc->vif_mutex);
848 if (wilc->vif_num <= 0) {
849 mutex_unlock(&wilc->vif_mutex);
852 vif = wilc_get_wl_to_vif(wilc);
856 wilc->vif_num--;
857 mutex_unlock(&wilc->vif_mutex);
858 synchronize_srcu(&wilc->srcu);
862 wilc_wlan_cfg_deinit(wilc);
863 wlan_deinit_locks(wilc);
864 kfree(wilc->bus_data);
865 wiphy_unregister(wilc->wiphy);
866 wiphy_free(wilc->wiphy);
870 static u8 wilc_get_available_idx(struct wilc *wl)
887 struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
902 vif->wilc = wl;