diff options
author | Takashi Iwai <tiwai@suse.de> | 2019-12-09 10:49:29 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-12-11 07:25:18 +0100 |
commit | 6dfa8fd598ecf732768ae77e7e08516efd6e71ab (patch) | |
tree | 723aeac84016cad33677f16d072db3c3ac2c05f5 /sound/pcmcia/pdaudiocf | |
parent | ALSA: ymfpci: Use managed buffer allocation (diff) | |
download | linux-6dfa8fd598ecf732768ae77e7e08516efd6e71ab.tar.xz linux-6dfa8fd598ecf732768ae77e7e08516efd6e71ab.zip |
ALSA: pdaudiocf: Use managed buffer allocation
Clean up the driver with the new managed buffer allocation API.
The hw_params and hw_free callbacks became superfluous and got
dropped.
Link: https://lore.kernel.org/r/20191209094943.14984-58-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pcmcia/pdaudiocf')
-rw-r--r-- | sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c index 067b1c3a3e02..a4be4d1b0f7d 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c @@ -84,23 +84,6 @@ static int pdacf_pcm_trigger(struct snd_pcm_substream *subs, int cmd) } /* - * pdacf_pcm_hw_params - hw_params callback for playback and capture - */ -static int pdacf_pcm_hw_params(struct snd_pcm_substream *subs, - struct snd_pcm_hw_params *hw_params) -{ - return snd_pcm_lib_malloc_pages(subs, params_buffer_bytes(hw_params)); -} - -/* - * pdacf_pcm_hw_free - hw_free callback for playback and capture - */ -static int pdacf_pcm_hw_free(struct snd_pcm_substream *subs) -{ - return snd_pcm_lib_free_pages(subs); -} - -/* * pdacf_pcm_prepare - prepare callback for playback and capture */ static int pdacf_pcm_prepare(struct snd_pcm_substream *subs) @@ -256,8 +239,6 @@ static const struct snd_pcm_ops pdacf_pcm_capture_ops = { .open = pdacf_pcm_capture_open, .close = pdacf_pcm_capture_close, .ioctl = snd_pcm_lib_ioctl, - .hw_params = pdacf_pcm_hw_params, - .hw_free = pdacf_pcm_hw_free, .prepare = pdacf_pcm_prepare, .trigger = pdacf_pcm_trigger, .pointer = pdacf_pcm_capture_pointer, @@ -277,9 +258,9 @@ int snd_pdacf_pcm_new(struct snd_pdacf *chip) return err; snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &pdacf_pcm_capture_ops); - snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_VMALLOC, - snd_dma_continuous_data(GFP_KERNEL | GFP_DMA32), - 0, 0); + snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_VMALLOC, + snd_dma_continuous_data(GFP_KERNEL | GFP_DMA32), + 0, 0); pcm->private_data = chip; pcm->info_flags = 0; |