Lines Matching refs:slave
78 /* list of slave instances */
81 /* lock for slave active lists */
171 * look for a master instance matching with the slave id of the given slave.
172 * when found, relink the open_link of the slave.
176 static void snd_timer_check_slave(struct snd_timer_instance *slave)
183 if (slave->slave_class == master->slave_class &&
184 slave->slave_id == master->slave_id) {
185 list_del(&slave->open_list);
186 list_add_tail(&slave->open_list,
189 slave->master = master;
190 slave->timer = master->timer;
199 * look for slave instances matching with the slave id of the given master.
206 struct snd_timer_instance *slave, *tmp;
209 list_for_each_entry_safe(slave, tmp, &snd_timer_slave_list, open_list) {
210 if (slave->slave_class == master->slave_class &&
211 slave->slave_id == master->slave_id) {
212 list_move_tail(&slave->open_list, &master->slave_list_head);
214 slave->master = master;
215 slave->timer = master->timer;
216 if (slave->flags & SNDRV_TIMER_IFLG_RUNNING)
217 list_add_tail(&slave->active_list,
226 * when opening a master, the slave id must be here given.
236 /* open a slave instance */
239 snd_printd("invalid slave class %i\n", tid->dev_sclass);
306 struct snd_timer_instance *slave, *tmp;
341 /* remove slave links */
342 list_for_each_entry_safe(slave, tmp, &timeri->slave_list_head,
345 _snd_timer_stop(slave, 1, SNDRV_TIMER_EVENT_RESOLUTION);
346 list_move_tail(&slave->open_list, &snd_timer_slave_list);
347 slave->master = NULL;
348 slave->timer = NULL;