Lines Matching refs:subs
207 struct snd_seq_subscribers *subs,
231 struct snd_seq_subscribers *subs; in clear_subscriber_list() local
235 subs = get_subscriber(p, is_src); in clear_subscriber_list()
237 aport = get_client_port(&subs->info.dest, &c); in clear_subscriber_list()
239 aport = get_client_port(&subs->info.sender, &c); in clear_subscriber_list()
240 delete_and_unsubscribe_port(client, port, subs, is_src, false); in clear_subscriber_list()
247 if (atomic_dec_and_test(&subs->ref_count)) in clear_subscriber_list()
248 kfree(subs); in clear_subscriber_list()
253 delete_and_unsubscribe_port(c, aport, subs, !is_src, true); in clear_subscriber_list()
254 kfree(subs); in clear_subscriber_list()
491 struct snd_seq_subscribers *subs, in check_and_subscribe_port() argument
511 if (match_subs_info(&subs->info, &s->info)) in check_and_subscribe_port()
516 err = subscribe_port(client, port, grp, &subs->info, ack); in check_and_subscribe_port()
525 list_add_tail(&subs->src_list, &grp->list_head); in check_and_subscribe_port()
527 list_add_tail(&subs->dest_list, &grp->list_head); in check_and_subscribe_port()
529 atomic_inc(&subs->ref_count); in check_and_subscribe_port()
540 struct snd_seq_subscribers *subs, in delete_and_unsubscribe_port() argument
548 list = is_src ? &subs->src_list : &subs->dest_list; in delete_and_unsubscribe_port()
559 unsubscribe_port(client, port, grp, &subs->info, ack); in delete_and_unsubscribe_port()
570 struct snd_seq_subscribers *subs; in snd_seq_port_connect() local
574 subs = kzalloc(sizeof(*subs), GFP_KERNEL); in snd_seq_port_connect()
575 if (!subs) in snd_seq_port_connect()
578 subs->info = *info; in snd_seq_port_connect()
579 atomic_set(&subs->ref_count, 0); in snd_seq_port_connect()
580 INIT_LIST_HEAD(&subs->src_list); in snd_seq_port_connect()
581 INIT_LIST_HEAD(&subs->dest_list); in snd_seq_port_connect()
585 err = check_and_subscribe_port(src_client, src_port, subs, true, in snd_seq_port_connect()
590 err = check_and_subscribe_port(dest_client, dest_port, subs, false, in snd_seq_port_connect()
599 delete_and_unsubscribe_port(src_client, src_port, subs, true, in snd_seq_port_connect()
602 kfree(subs); in snd_seq_port_connect()
615 struct snd_seq_subscribers *subs; in snd_seq_port_disconnect() local
620 list_for_each_entry(subs, &src->list_head, src_list) { in snd_seq_port_disconnect()
621 if (match_subs_info(info, &subs->info)) { in snd_seq_port_disconnect()
622 atomic_dec(&subs->ref_count); /* mark as not ready */ in snd_seq_port_disconnect()
631 delete_and_unsubscribe_port(src_client, src_port, subs, true, in snd_seq_port_disconnect()
633 delete_and_unsubscribe_port(dest_client, dest_port, subs, false, in snd_seq_port_disconnect()
635 kfree(subs); in snd_seq_port_disconnect()