Lines Matching defs:reader
40 struct event_reader *reader;
42 list_for_each_entry(reader, &sp->event_buffer->readers, node)
43 wake_up_interruptible(&reader->wait);
52 * There is no reader marker in the buffer, therefore readers are
89 int ibmasm_get_next_event(struct service_processor *sp, struct event_reader *reader)
96 reader->cancelled = 0;
98 if (wait_event_interruptible(reader->wait,
99 event_available(buffer, reader) || reader->cancelled))
102 if (!event_available(buffer, reader))
109 while (event->serial_number < reader->next_serial_number) {
113 memcpy(reader->data, event->data, event->data_size);
114 reader->data_size = event->data_size;
115 reader->next_serial_number = event->serial_number + 1;
122 void ibmasm_cancel_next_event(struct event_reader *reader)
124 reader->cancelled = 1;
125 wake_up_interruptible(&reader->wait);
128 void ibmasm_event_reader_register(struct service_processor *sp, struct event_reader *reader)
132 reader->next_serial_number = sp->event_buffer->next_serial_number;
133 init_waitqueue_head(&reader->wait);
135 list_add(&reader->node, &sp->event_buffer->readers);
139 void ibmasm_event_reader_unregister(struct service_processor *sp, struct event_reader *reader)
144 list_del(&reader->node);