Lines Matching defs:reader
28 struct event_reader *reader;
30 list_for_each_entry(reader, &sp->event_buffer->readers, node)
31 wake_up_interruptible(&reader->wait);
40 * There is no reader marker in the buffer, therefore readers are
77 int ibmasm_get_next_event(struct service_processor *sp, struct event_reader *reader)
84 reader->cancelled = 0;
86 if (wait_event_interruptible(reader->wait,
87 event_available(buffer, reader) || reader->cancelled))
90 if (!event_available(buffer, reader))
97 while (event->serial_number < reader->next_serial_number) {
101 memcpy(reader->data, event->data, event->data_size);
102 reader->data_size = event->data_size;
103 reader->next_serial_number = event->serial_number + 1;
110 void ibmasm_cancel_next_event(struct event_reader *reader)
112 reader->cancelled = 1;
113 wake_up_interruptible(&reader->wait);
116 void ibmasm_event_reader_register(struct service_processor *sp, struct event_reader *reader)
120 reader->next_serial_number = sp->event_buffer->next_serial_number;
121 init_waitqueue_head(&reader->wait);
123 list_add(&reader->node, &sp->event_buffer->readers);
127 void ibmasm_event_reader_unregister(struct service_processor *sp, struct event_reader *reader)
132 list_del(&reader->node);