| .. | .. |
|---|
| 4 | 4 | */ |
|---|
| 5 | 5 | #include <linux/export.h> |
|---|
| 6 | 6 | #include <linux/mm.h> |
|---|
| 7 | | -#include <linux/dma-mapping.h> |
|---|
| 7 | +#include <linux/dma-map-ops.h> |
|---|
| 8 | 8 | #include <linux/scatterlist.h> |
|---|
| 9 | 9 | |
|---|
| 10 | 10 | static void *dma_virt_alloc(struct device *dev, size_t size, |
|---|
| .. | .. |
|---|
| 13 | 13 | { |
|---|
| 14 | 14 | void *ret; |
|---|
| 15 | 15 | |
|---|
| 16 | | - ret = (void *)__get_free_pages(gfp, get_order(size)); |
|---|
| 16 | + ret = (void *)__get_free_pages(gfp | __GFP_ZERO, get_order(size)); |
|---|
| 17 | 17 | if (ret) |
|---|
| 18 | 18 | *dma_handle = (uintptr_t)ret; |
|---|
| 19 | 19 | return ret; |
|---|
| .. | .. |
|---|
| 55 | 55 | .free = dma_virt_free, |
|---|
| 56 | 56 | .map_page = dma_virt_map_page, |
|---|
| 57 | 57 | .map_sg = dma_virt_map_sg, |
|---|
| 58 | + .alloc_pages = dma_common_alloc_pages, |
|---|
| 59 | + .free_pages = dma_common_free_pages, |
|---|
| 58 | 60 | }; |
|---|
| 59 | 61 | EXPORT_SYMBOL(dma_virt_ops); |
|---|