Lines Matching refs:fasync
90 struct fasync_struct *fasync; member
102 struct snd_fasync *fasync; in snd_fasync_work_fn() local
106 fasync = list_first_entry(&snd_fasync_list, struct snd_fasync, list); in snd_fasync_work_fn()
107 list_del_init(&fasync->list); in snd_fasync_work_fn()
109 if (fasync->on) in snd_fasync_work_fn()
110 kill_fasync(&fasync->fasync, fasync->signal, fasync->poll); in snd_fasync_work_fn()
121 struct snd_fasync *fasync = NULL; in snd_fasync_helper() local
124 fasync = kzalloc(sizeof(*fasync), GFP_KERNEL); in snd_fasync_helper()
125 if (!fasync) in snd_fasync_helper()
127 INIT_LIST_HEAD(&fasync->list); in snd_fasync_helper()
132 kfree(fasync); in snd_fasync_helper()
133 fasync = *fasyncp; in snd_fasync_helper()
135 if (!fasync) { in snd_fasync_helper()
139 *fasyncp = fasync; in snd_fasync_helper()
141 fasync->on = on; in snd_fasync_helper()
143 return fasync_helper(fd, file, on, &fasync->fasync); in snd_fasync_helper()
147 void snd_kill_fasync(struct snd_fasync *fasync, int signal, int poll) in snd_kill_fasync() argument
151 if (!fasync || !fasync->on) in snd_kill_fasync()
154 fasync->signal = signal; in snd_kill_fasync()
155 fasync->poll = poll; in snd_kill_fasync()
156 list_move(&fasync->list, &snd_fasync_list); in snd_kill_fasync()
162 void snd_fasync_free(struct snd_fasync *fasync) in snd_fasync_free() argument
164 if (!fasync) in snd_fasync_free()
166 fasync->on = 0; in snd_fasync_free()
168 kfree(fasync); in snd_fasync_free()