Lines Matching refs:fasync
161 struct fasync_struct *fasync; member
173 struct snd_fasync *fasync; in snd_fasync_work_fn() local
177 fasync = list_first_entry(&snd_fasync_list, struct snd_fasync, list); in snd_fasync_work_fn()
178 list_del_init(&fasync->list); in snd_fasync_work_fn()
180 if (fasync->on) in snd_fasync_work_fn()
181 kill_fasync(&fasync->fasync, fasync->signal, fasync->poll); in snd_fasync_work_fn()
192 struct snd_fasync *fasync = NULL; in snd_fasync_helper() local
195 fasync = kzalloc(sizeof(*fasync), GFP_KERNEL); in snd_fasync_helper()
196 if (!fasync) in snd_fasync_helper()
198 INIT_LIST_HEAD(&fasync->list); in snd_fasync_helper()
203 kfree(fasync); in snd_fasync_helper()
204 fasync = *fasyncp; in snd_fasync_helper()
206 if (!fasync) { in snd_fasync_helper()
210 *fasyncp = fasync; in snd_fasync_helper()
212 fasync->on = on; in snd_fasync_helper()
214 return fasync_helper(fd, file, on, &fasync->fasync); in snd_fasync_helper()
218 void snd_kill_fasync(struct snd_fasync *fasync, int signal, int poll) in snd_kill_fasync() argument
222 if (!fasync || !fasync->on) in snd_kill_fasync()
225 fasync->signal = signal; in snd_kill_fasync()
226 fasync->poll = poll; in snd_kill_fasync()
227 list_move(&fasync->list, &snd_fasync_list); in snd_kill_fasync()
233 void snd_fasync_free(struct snd_fasync *fasync) in snd_fasync_free() argument
235 if (!fasync) in snd_fasync_free()
237 fasync->on = 0; in snd_fasync_free()
239 kfree(fasync); in snd_fasync_free()