Lines Matching refs:fweh

83 static void brcmf_fweh_queue_event(struct brcmf_fweh_info *fweh,  in brcmf_fweh_queue_event()  argument
88 spin_lock_irqsave(&fweh->evt_q_lock, flags); in brcmf_fweh_queue_event()
89 list_add_tail(&event->q, &fweh->event_q); in brcmf_fweh_queue_event()
90 spin_unlock_irqrestore(&fweh->evt_q_lock, flags); in brcmf_fweh_queue_event()
91 schedule_work(&fweh->event_work); in brcmf_fweh_queue_event()
100 struct brcmf_fweh_info *fweh; in brcmf_fweh_call_event_handler() local
104 fweh = &ifp->drvr->fweh; in brcmf_fweh_call_event_handler()
107 if (fweh->evt_handler[code]) in brcmf_fweh_call_event_handler()
108 err = fweh->evt_handler[code](ifp, emsg, data); in brcmf_fweh_call_event_handler()
145 (drvr->fweh.p2pdev_setup_ongoing)))); in brcmf_fweh_handle_if_event()
166 if (!drvr->fweh.evt_handler[BRCMF_E_IF]) in brcmf_fweh_handle_if_event()
192 brcmf_fweh_dequeue_event(struct brcmf_fweh_info *fweh) in brcmf_fweh_dequeue_event() argument
197 spin_lock_irqsave(&fweh->evt_q_lock, flags); in brcmf_fweh_dequeue_event()
198 if (!list_empty(&fweh->event_q)) { in brcmf_fweh_dequeue_event()
199 event = list_first_entry(&fweh->event_q, in brcmf_fweh_dequeue_event()
203 spin_unlock_irqrestore(&fweh->evt_q_lock, flags); in brcmf_fweh_dequeue_event()
217 struct brcmf_fweh_info *fweh; in brcmf_fweh_event_worker() local
223 fweh = container_of(work, struct brcmf_fweh_info, event_work); in brcmf_fweh_event_worker()
224 drvr = container_of(fweh, struct brcmf_pub, fweh); in brcmf_fweh_event_worker()
226 while ((event = brcmf_fweh_dequeue_event(fweh))) { in brcmf_fweh_event_worker()
282 ifp->drvr->fweh.p2pdev_setup_ongoing = ongoing; in brcmf_fweh_p2pdev_setup()
292 struct brcmf_fweh_info *fweh = &drvr->fweh; in brcmf_fweh_attach() local
293 INIT_WORK(&fweh->event_work, brcmf_fweh_event_worker); in brcmf_fweh_attach()
294 spin_lock_init(&fweh->evt_q_lock); in brcmf_fweh_attach()
295 INIT_LIST_HEAD(&fweh->event_q); in brcmf_fweh_attach()
305 struct brcmf_fweh_info *fweh = &drvr->fweh; in brcmf_fweh_detach() local
308 cancel_work_sync(&fweh->event_work); in brcmf_fweh_detach()
309 WARN_ON(!list_empty(&fweh->event_q)); in brcmf_fweh_detach()
310 memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler)); in brcmf_fweh_detach()
323 if (drvr->fweh.evt_handler[code]) { in brcmf_fweh_register()
327 drvr->fweh.evt_handler[code] = handler; in brcmf_fweh_register()
344 drvr->fweh.evt_handler[code] = NULL; in brcmf_fweh_unregister()
360 if (ifp->drvr->fweh.evt_handler[i]) { in brcmf_fweh_activate_events()
393 struct brcmf_fweh_info *fweh = &drvr->fweh; in brcmf_fweh_process_event() local
407 if (code != BRCMF_E_IF && !fweh->evt_handler[code]) in brcmf_fweh_process_event()
430 brcmf_fweh_queue_event(fweh, event); in brcmf_fweh_process_event()