Lines Matching refs:fweh

94 static void brcmf_fweh_queue_event(struct brcmf_fweh_info *fweh,  in brcmf_fweh_queue_event()  argument
99 spin_lock_irqsave(&fweh->evt_q_lock, flags); in brcmf_fweh_queue_event()
100 list_add_tail(&event->q, &fweh->event_q); in brcmf_fweh_queue_event()
101 spin_unlock_irqrestore(&fweh->evt_q_lock, flags); in brcmf_fweh_queue_event()
102 schedule_work(&fweh->event_work); in brcmf_fweh_queue_event()
110 struct brcmf_fweh_info *fweh; in brcmf_fweh_call_event_handler() local
114 fweh = &ifp->drvr->fweh; in brcmf_fweh_call_event_handler()
117 if (fweh->evt_handler[code]) in brcmf_fweh_call_event_handler()
118 err = fweh->evt_handler[code](ifp, emsg, data); in brcmf_fweh_call_event_handler()
155 (drvr->fweh.p2pdev_setup_ongoing)))); in brcmf_fweh_handle_if_event()
176 if (!drvr->fweh.evt_handler[BRCMF_E_IF]) in brcmf_fweh_handle_if_event()
201 brcmf_fweh_dequeue_event(struct brcmf_fweh_info *fweh) in brcmf_fweh_dequeue_event() argument
206 spin_lock_irqsave(&fweh->evt_q_lock, flags); in brcmf_fweh_dequeue_event()
207 if (!list_empty(&fweh->event_q)) { in brcmf_fweh_dequeue_event()
208 event = list_first_entry(&fweh->event_q, in brcmf_fweh_dequeue_event()
212 spin_unlock_irqrestore(&fweh->evt_q_lock, flags); in brcmf_fweh_dequeue_event()
226 struct brcmf_fweh_info *fweh; in brcmf_fweh_event_worker() local
232 fweh = container_of(work, struct brcmf_fweh_info, event_work); in brcmf_fweh_event_worker()
233 drvr = container_of(fweh, struct brcmf_pub, fweh); in brcmf_fweh_event_worker()
235 while ((event = brcmf_fweh_dequeue_event(fweh))) { in brcmf_fweh_event_worker()
291 ifp->drvr->fweh.p2pdev_setup_ongoing = ongoing; in brcmf_fweh_p2pdev_setup()
301 struct brcmf_fweh_info *fweh = &drvr->fweh; in brcmf_fweh_attach() local
302 INIT_WORK(&fweh->event_work, brcmf_fweh_event_worker); in brcmf_fweh_attach()
303 spin_lock_init(&fweh->evt_q_lock); in brcmf_fweh_attach()
304 INIT_LIST_HEAD(&fweh->event_q); in brcmf_fweh_attach()
314 struct brcmf_fweh_info *fweh = &drvr->fweh; in brcmf_fweh_detach() local
326 cancel_work_sync(&fweh->event_work); in brcmf_fweh_detach()
327 WARN_ON(!list_empty(&fweh->event_q)); in brcmf_fweh_detach()
328 memset(fweh->evt_handler, 0, sizeof(fweh->evt_handler)); in brcmf_fweh_detach()
341 if (drvr->fweh.evt_handler[code]) { in brcmf_fweh_register()
345 drvr->fweh.evt_handler[code] = handler; in brcmf_fweh_register()
362 drvr->fweh.evt_handler[code] = NULL; in brcmf_fweh_unregister()
377 if (ifp->drvr->fweh.evt_handler[i]) { in brcmf_fweh_activate_events()
410 struct brcmf_fweh_info *fweh = &drvr->fweh; in brcmf_fweh_process_event() local
424 if (code != BRCMF_E_IF && !fweh->evt_handler[code]) in brcmf_fweh_process_event()
447 brcmf_fweh_queue_event(fweh, event); in brcmf_fweh_process_event()