@@ -330,7 +330,8 @@ int dma_init_global_coherent(phys_addr_t phys_addr, size_t size)
330330#include <linux/of_reserved_mem.h>
331331
332332#ifdef CONFIG_DMA_GLOBAL_POOL
333- static struct reserved_mem * dma_reserved_default_memory __initdata ;
333+ static phys_addr_t dma_reserved_default_memory_base __initdata ;
334+ static phys_addr_t dma_reserved_default_memory_size __initdata ;
334335#endif
335336
336337static int rmem_dma_device_init (struct reserved_mem * rmem , struct device * dev )
@@ -376,9 +377,10 @@ static int __init rmem_dma_setup(struct reserved_mem *rmem)
376377
377378#ifdef CONFIG_DMA_GLOBAL_POOL
378379 if (of_get_flat_dt_prop (node , "linux,dma-default" , NULL )) {
379- WARN (dma_reserved_default_memory ,
380+ WARN (dma_reserved_default_memory_size ,
380381 "Reserved memory: region for default DMA coherent area is redefined\n" );
381- dma_reserved_default_memory = rmem ;
382+ dma_reserved_default_memory_base = rmem -> base ;
383+ dma_reserved_default_memory_size = rmem -> size ;
382384 }
383385#endif
384386
@@ -391,10 +393,10 @@ static int __init rmem_dma_setup(struct reserved_mem *rmem)
391393#ifdef CONFIG_DMA_GLOBAL_POOL
392394static int __init dma_init_reserved_memory (void )
393395{
394- if (!dma_reserved_default_memory )
396+ if (!dma_reserved_default_memory_size )
395397 return - ENOMEM ;
396- return dma_init_global_coherent (dma_reserved_default_memory -> base ,
397- dma_reserved_default_memory -> size );
398+ return dma_init_global_coherent (dma_reserved_default_memory_base ,
399+ dma_reserved_default_memory_size );
398400}
399401core_initcall (dma_init_reserved_memory );
400402#endif /* CONFIG_DMA_GLOBAL_POOL */
0 commit comments