Lines Matching refs:reg
404 struct sclp_register *reg;
417 reg = NULL;
419 reg = list_entry(l, struct sclp_register, list);
420 if (reg->receive_mask & SCLP_EVTYP_MASK(evbuf->type))
423 reg = NULL;
425 if (reg && reg->receiver_fn) {
427 reg->receiver_fn(evbuf);
429 } else if (reg == NULL)
586 struct sclp_register *reg;
593 reg = NULL;
595 reg = list_entry(l, struct sclp_register, list);
596 receive_mask = reg->send_mask & sclp_receive_mask;
597 send_mask = reg->receive_mask & sclp_send_mask;
598 if (reg->sclp_receive_mask != receive_mask ||
599 reg->sclp_send_mask != send_mask) {
600 reg->sclp_receive_mask = receive_mask;
601 reg->sclp_send_mask = send_mask;
604 reg = NULL;
607 if (reg && reg->state_change_fn)
608 reg->state_change_fn(reg);
609 } while (reg);
675 sclp_register(struct sclp_register *reg)
688 if (reg->receive_mask & receive_mask || reg->send_mask & send_mask) {
693 reg->sclp_receive_mask = 0;
694 reg->sclp_send_mask = 0;
695 reg->pm_event_posted = 0;
696 list_add(®->list, &sclp_reg_list);
701 list_del(®->list);
711 sclp_unregister(struct sclp_register *reg)
716 list_del(®->list);
1019 struct sclp_register *reg;
1024 list_for_each_entry(reg, &sclp_reg_list, list)
1025 reg->pm_event_posted = 0;
1030 list_for_each_entry(reg, &sclp_reg_list, list) {
1031 if (rollback && reg->pm_event_posted)
1033 if (!rollback && !reg->pm_event_posted)
1040 if (reg->pm_event_fn)
1041 reg->pm_event_fn(reg, sclp_pm_event);
1042 reg->pm_event_posted = rollback ? 0 : 1;