Fixing io-pgtable-arm build failure
PATCH 1/1 Fixing io-pgtable-arm build failure
Trying to build kernel for ARC with both options CONFIG_COMPILE_TEST and CONFIG_IOMMU_IO_PGTABLE_LPAE enabled (which happened really in "allyesconfig") I'm seeing this:
---------------->8----------------
$ make ARCH=arc ...sic... CC drivers/iommu/io-pgtable-arm.o linux/drivers/iommu/io-pgtable-arm.c: In function ?__arm_lpae_alloc_pages?: linux/drivers/iommu/io-pgtable-arm.c:221:3: error: implicit declaration of function ?dma_map_single? [-Werror=implicit-function-declaration] dma = dma_map_single(dev, pages, size, DMA_TO_DEVICE); ^ linux/drivers/iommu/io-pgtable-arm.c:221:42: error: ?DMA_TO_DEVICE? undeclared (first use in this function) dma = dma_map_single(dev, pages, size, DMA_TO_DEVICE); ^ ---------------->8---------------- and so on.
IOMMU_IO_PGTABLE_LPAE depends on DMA API.
So io-pgtable-arm.c should include linux/dma-mapping.h.
--- drivers/iommu/io-pgtable-arm.c | 1 + 1 file changed, 1 insertion(+)
drivers/iommu/io-pgtable-arm.c +1 -0
@@ -25,6 +25,7 @@#include <linux/sizes.h> #include <linux/slab.h> #include <linux/types.h> +#include <linux/dma-mapping.h> #include <asm/barrier.h>
Signature · 1 line
2.5.0
PATCH 1/1 Fixing io-pgtable-arm build failure
Hi Will,
On Wed, 2016-01-13 at 17:48 +0300, Lada Trimasova wrote:
Trying to build kernel for ARC with both options CONFIG_COMPILE_TEST and CONFIG_IOMMU_IO_PGTABLE_LPAE enabled (which happened really in "allyesconfig") I'm seeing this:
---------------->8----------------
$ make ARCH=arc ...sic... CC drivers/iommu/io-pgtable-arm.o linux/drivers/iommu/io-pgtable-arm.c: In function ?__arm_lpae_alloc_pages?: linux/drivers/iommu/io-pgtable-arm.c:221:3: error: implicit declaration of function ?dma_map_single? [-Werror=implicit-function-declaration] dma = dma_map_single(dev, pages, size, DMA_TO_DEVICE); ^ linux/drivers/iommu/io-pgtable-arm.c:221:42: error: ?DMA_TO_DEVICE? undeclared (first use in this function) dma = dma_map_single(dev, pages, size, DMA_TO_DEVICE); ^ ---------------->8---------------- and so on.
IOMMU_IO_PGTABLE_LPAE depends on DMA API.
So io-pgtable-arm.c should include linux/dma-mapping.h.
--- drivers/iommu/io-pgtable-arm.c | 1 + 1 file changed, 1 insertion(+)
drivers/iommu/io-pgtable-arm.c +1 -0
@@ -25,6 +25,7 @@#include <linux/sizes.h> #include <linux/slab.h> #include <linux/types.h> +#include <linux/dma-mapping.h> #include <asm/barrier.h>
Please treat this as a polite reminder to review that patch sometime soon.
Regards,
Lada Trimasova.
PATCH 1/1 Fixing io-pgtable-arm build failure
Quoted 1 line · Lada Trimasova
Please treat this as a polite reminder to review that patch sometime soon.
It's queued on my fixes branch, so please sit tight (I'm out at a conference at the moment).
Will