}
early_param("cma", early_cma);
-/*
- * cma_skip_dt_default_reserved_mem - This is called from the
- * reserved_mem framework to detect if the default cma region is being
- * set by the "cma=" kernel parameter.
- */
-bool __init cma_skip_dt_default_reserved_mem(void)
-{
- return size_cmdline != -1;
-}
-
+ struct cma *dev_get_cma_area(struct device *dev)
+ {
+ if (dev && dev->cma_area)
+ return dev->cma_area;
+
+ return dma_contiguous_default_area;
+ }
+ EXPORT_SYMBOL_GPL(dev_get_cma_area);
+
#ifdef CONFIG_DMA_NUMA_CMA
static struct cma *dma_contiguous_numa_area[MAX_NUMNODES];
pr_info("Reserved memory: created CMA memory pool at %pa, size %ld MiB\n",
&rmem->base, (unsigned long)rmem->size / SZ_1M);
- ret = dma_heap_cma_register_heap(cma);
- err = dma_contiguous_insert_area(cma);
- if (err)
++ ret = dma_contiguous_insert_area(cma);
+ if (ret)
- pr_warn("Couldn't register CMA heap.");
+ pr_warn("Couldn't store CMA reserved area.");
return 0;
}