static int pm_fm_resume(struct poseidon *p) { logpm(p); poseidon_check_mode_radio(p); set_frequency(p, p->radio_data.fm_freq); pm_alsa_resume(p); return 0; }
static int pm_fm_suspend(struct poseidon *p) { logpm(p); pm_alsa_suspend(p); usb_set_interface(p->udev, 0, 0); msleep(300); return 0; }
static int snd_pd_hw_capture_free(struct snd_pcm_substream *substream) { struct poseidon *p = snd_pcm_substream_chip(substream); logpm(); audio_buf_free(p); return 0; }
static int audio_buf_free(struct poseidon *p) { struct poseidon_audio *pa = &p->audio; int i; for (i = 0; i < AUDIO_BUFS; i++) if (pa->urb_array[i]) usb_kill_urb(pa->urb_array[i]); free_all_urb_generic(pa->urb_array, AUDIO_BUFS); logpm(); return 0; }
int pm_alsa_resume(struct poseidon *p) { logpm(p); fire_audio_urb(p); return 0; }
int pm_alsa_suspend(struct poseidon *p) { logpm(p); audio_buf_free(p); return 0; }