ALSA: core: Add device-managed page allocator helper
authorTakashi Iwai <tiwai@suse.de>
Thu, 15 Jul 2021 07:58:23 +0000 (09:58 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 19 Jul 2021 14:16:32 +0000 (16:16 +0200)
commit427ae2689db0fb6377e39e63fae2991223cdd9e7
tree0fa5ba3ebbea76a54a6df1547c11dfe4a8bafa1e
parente6c0a0889b808989dc2e0f89a87c0a0adab32463
ALSA: core: Add device-managed page allocator helper

This is a preparation for allowing devres usages more widely in
various sound drivers.  As a first step, this patch adds a new
allocator function, snd_devm_alloc_pages(), to manage the allocated
pages via devres, so that the pages will be automagically released as
device unbinding.

Unlike the old snd_dma_alloc_pages(), the new function returns
directly the snd_dma_buffer pointer.  The caller needs NULL-check for
the allocation error appropriately.

Also, since a real device pointer is mandatory for devres,
SNDRV_DMA_TYPE_CONTINUOUS or SNDRV_DMA_TYPE_VMALLOC type can't be used
for this function.

Link: https://lore.kernel.org/r/20210715075941.23332-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/memalloc.h
sound/core/memalloc.c