diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0119-dma-bcm2708-Fix-module-compilation-of-CONFIG_DMA_BCM.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.14/950-0119-dma-bcm2708-Fix-module-compilation-of-CONFIG_DMA_BCM.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0119-dma-bcm2708-Fix-module-compilation-of-CONFIG_DMA_BCM.patch b/target/linux/brcm2708/patches-4.14/950-0119-dma-bcm2708-Fix-module-compilation-of-CONFIG_DMA_BCM.patch new file mode 100644 index 0000000000..aff50554a4 --- /dev/null +++ b/target/linux/brcm2708/patches-4.14/950-0119-dma-bcm2708-Fix-module-compilation-of-CONFIG_DMA_BCM.patch @@ -0,0 +1,43 @@ +From 6156ba379ce50e8a969e4e87c9e1eddb117a9e4c Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan <andrei@gherzan.com> +Date: Mon, 5 Jun 2017 16:40:38 +0100 +Subject: [PATCH 119/454] dma-bcm2708: Fix module compilation of + CONFIG_DMA_BCM2708 + +bcm2708-dmaengine.c defines functions like bcm_dma_start which are +defined as well in dma-bcm2708.h as inline versions when +CONFIG_DMA_BCM2708 is not defined. This works fine when +CONFIG_DMA_BCM2708 is built in, but when it is selected as module build +fails with redefinition errors because in the build system when +CONFIG_DMA_BCM2708 is selected as module, the macro becomes +CONFIG_DMA_BCM2708_MODULE. + +This patch makes the header use CONFIG_DMA_BCM2708_MODULE too when +available. + +Fixes https://github.com/raspberrypi/linux/issues/2056 + +Signed-off-by: Andrei Gherzan <andrei@gherzan.com> +--- + include/linux/platform_data/dma-bcm2708.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/include/linux/platform_data/dma-bcm2708.h ++++ b/include/linux/platform_data/dma-bcm2708.h +@@ -75,7 +75,7 @@ struct bcm2708_dma_cb { + struct scatterlist; + struct platform_device; + +-#ifdef CONFIG_DMA_BCM2708 ++#if defined(CONFIG_DMA_BCM2708) || defined(CONFIG_DMA_BCM2708_MODULE) + + int bcm_sg_suitable_for_dma(struct scatterlist *sg_ptr, int sg_len); + void bcm_dma_start(void __iomem *dma_chan_base, dma_addr_t control_block); +@@ -138,6 +138,6 @@ static inline int bcm_dmaman_remove(stru + return 0; + } + +-#endif /* CONFIG_DMA_BCM2708 */ ++#endif /* CONFIG_DMA_BCM2708 || CONFIG_DMA_BCM2708_MODULE */ + + #endif /* _PLAT_BCM2708_DMA_H */ |