Lines Matching full:cell
49 * ext.data.ptr = the additiona cell head
50 * -> cell.next -> cell.next -> ..
70 struct snd_seq_event_cell *cell; in snd_seq_dump_var_event() local
95 cell = (struct snd_seq_event_cell *)event->data.ext.ptr; in snd_seq_dump_var_event()
96 for (; len > 0 && cell; cell = cell->next) { in snd_seq_dump_var_event()
100 err = func(private_data, &cell->event, size); in snd_seq_dump_var_event()
160 * release this cell, free extended data if available
164 struct snd_seq_event_cell *cell) in free_cell() argument
166 cell->next = pool->free; in free_cell()
167 pool->free = cell; in free_cell()
171 void snd_seq_cell_free(struct snd_seq_event_cell * cell) in snd_seq_cell_free() argument
176 if (snd_BUG_ON(!cell)) in snd_seq_cell_free()
178 pool = cell->pool; in snd_seq_cell_free()
183 free_cell(pool, cell); in snd_seq_cell_free()
184 if (snd_seq_ev_is_variable(&cell->event)) { in snd_seq_cell_free()
185 if (cell->event.data.ext.len & SNDRV_SEQ_EXT_CHAINED) { in snd_seq_cell_free()
187 curp = cell->event.data.ext.ptr; in snd_seq_cell_free()
205 * allocate an event cell.
212 struct snd_seq_event_cell *cell; in snd_seq_cell_alloc() local
252 cell = pool->free; in snd_seq_cell_alloc()
253 if (cell) { in snd_seq_cell_alloc()
255 pool->free = cell->next; in snd_seq_cell_alloc()
261 /* clear cell pointers */ in snd_seq_cell_alloc()
262 cell->next = NULL; in snd_seq_cell_alloc()
266 *cellp = cell; in snd_seq_cell_alloc()
275 * duplicate the event to a cell.
285 struct snd_seq_event_cell *cell; in snd_seq_event_dup() local
298 err = snd_seq_cell_alloc(pool, &cell, nonblock, file, mutexp); in snd_seq_event_dup()
303 cell->event = *event; in snd_seq_event_dup()
313 cell->event.data.ext.len = extlen | SNDRV_SEQ_EXT_CHAINED; in snd_seq_event_dup()
314 cell->event.data.ext.ptr = NULL; in snd_seq_event_dup()
328 if (cell->event.data.ext.ptr == NULL) in snd_seq_event_dup()
329 cell->event.data.ext.ptr = tmp; in snd_seq_event_dup()
350 *cellp = cell; in snd_seq_event_dup()
354 snd_seq_cell_free(cell); in snd_seq_event_dup()
371 int cell; in snd_seq_pool_init() local
382 /* add new cells to the free cell list */ in snd_seq_pool_init()
393 for (cell = 0; cell < pool->size; cell++) { in snd_seq_pool_init()
394 cellptr = pool->ptr + cell; in snd_seq_pool_init()