*参照元 [#jaa0c915] #backlinks *説明 [#x6074dee] -パス: [[linux-4.4.1/arch/arm/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#f83af901] -struct device *dev -- --[[linux-4.4.1/device]] -size_t size -- -gfp_t gfp -- --[[linux-4.4.1/gfp_t]] -pgprot_t prot -- --[[linux-4.4.1/pgprot_t]] -struct page **ret_page -- --[[linux-4.4.1/page]] -const void *caller -- -bool want_vaddr -- **返り値 [#lf75dcc5] -void * -- **参考 [#rdddca05] *実装 [#fe962985] **CONFIG_MMU 有効 [#v9cdcf63] - --[[linux-4.4.1/CONFIG_MMU]] static void *__alloc_remap_buffer(struct device *dev, size_t size, gfp_t gfp, pgprot_t prot, struct page **ret_page, const void *caller, bool want_vaddr) { struct page *page; void *ptr = NULL; page = __dma_alloc_buffer(dev, size, gfp); if (!page) return NULL; if (!want_vaddr) goto out; - --[[linux-4.4.1/__dma_alloc_buffer()]] ptr = __dma_alloc_remap(page, size, gfp, prot, caller); - --[[linux-4.4.1/__dma_alloc_remap()]] if (!ptr) { __dma_free_buffer(page, size); return NULL; } - --[[linux-4.4.1/__dma_free_buffer()]] out: *ret_page = page; return ptr; } **CONFIG_MMU 無効 [#w27aa0cc] #define __alloc_remap_buffer(dev, size, gfp, prot, ret, c, wv) NULL -常に NULL を返す。 *コメント [#l96caa8d]