Lines Matching refs:eh

921 	struct prestera_fw_event_handler *eh;  in __find_event_handler()  local
923 list_for_each_entry_rcu(eh, &sw->event_handlers, list) { in __find_event_handler()
924 if (eh->type == type) in __find_event_handler()
925 return eh; in __find_event_handler()
933 struct prestera_fw_event_handler *eh) in prestera_find_event_handler() argument
941 *eh = *tmp; in prestera_find_event_handler()
953 struct prestera_fw_event_handler eh; in prestera_evt_recv() local
964 err = prestera_find_event_handler(sw, msg_type, &eh); in prestera_evt_recv()
974 eh.func(sw, &evt, eh.arg); in prestera_evt_recv()
982 struct prestera_fw_event_handler eh; in prestera_pkt_recv() local
988 err = prestera_find_event_handler(sw, PRESTERA_EVENT_TYPE_RXTX, &eh); in prestera_pkt_recv()
992 eh.func(sw, &ev, eh.arg); in prestera_pkt_recv()
2253 struct prestera_fw_event_handler *eh; in prestera_hw_event_handler_register() local
2255 eh = __find_event_handler(sw, type); in prestera_hw_event_handler_register()
2256 if (eh) in prestera_hw_event_handler_register()
2259 eh = kmalloc(sizeof(*eh), GFP_KERNEL); in prestera_hw_event_handler_register()
2260 if (!eh) in prestera_hw_event_handler_register()
2263 eh->type = type; in prestera_hw_event_handler_register()
2264 eh->func = fn; in prestera_hw_event_handler_register()
2265 eh->arg = arg; in prestera_hw_event_handler_register()
2267 INIT_LIST_HEAD(&eh->list); in prestera_hw_event_handler_register()
2269 list_add_rcu(&eh->list, &sw->event_handlers); in prestera_hw_event_handler_register()
2278 struct prestera_fw_event_handler *eh; in prestera_hw_event_handler_unregister() local
2280 eh = __find_event_handler(sw, type); in prestera_hw_event_handler_unregister()
2281 if (!eh) in prestera_hw_event_handler_unregister()
2284 list_del_rcu(&eh->list); in prestera_hw_event_handler_unregister()
2285 kfree_rcu(eh, rcu); in prestera_hw_event_handler_unregister()