[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <e804928d-deb9-668a-7012-2843ba85285e@st.com>
Date: Tue, 30 Jan 2018 10:11:46 +0000
From: Benjamin GAIGNARD <benjamin.gaignard@...com>
To: Arnaud POULIQUEN <arnaud.pouliquen@...com>,
"Andy Gross <andy.gross@...aro.org> ; David Brown"
<david.brown@...aro.org>, "Arnd Bergmann" <arnd@...db.de>
CC: "linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>,
"linux-soc@...r.kernel.org" <linux-soc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Benjamin Gaignard" <benjamin.gaignard@...aro.org>
Subject: Re: Compilation error report for: drivers/firmware/qcom_scm.c:469:47: error: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type
On 01/12/2018 05:11 PM, Arnaud Pouliquen wrote:
> Hello Andy,David,
+ Arnd
I have the same issue on drm-misc-next.
Does Arnaud's fix make sense or should we update/change the way of how
we compile the kernel ?
Regards,
Benjamin
>
>
> I'm facing a compilation error using COMPILE_TEST config,
> could you crosscheck the issue.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> commit: b2cd1df66037e7c4697c7e40496bf7e4a5e16a2d :Linux 4.15-rc7
>
> reproduce:
> ---------
> #apt-get install gcc-arm-linux-gnueabi
> #apt-get install gcc-arm-linux-gnueabihf
>
> apply .config (in attachment)
>
> #make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
>
>
> error:
> -----
> CC drivers/firmware/qcom_scm.o
> drivers/firmware/qcom_scm.c: In function ‘qcom_scm_assign_mem’:
> drivers/firmware/qcom_scm.c:469:47: error: passing argument 3 of
> ‘dma_alloc_coherent’ from incompatible pointer type
> [-Werror=incompatible-pointer-types]
> ptr = dma_alloc_coherent(__scm->dev, ptr_sz, &ptr_phys, GFP_KERNEL);
> ^
> In file included from drivers/firmware/qcom_scm.c:21:0:
> ./include/linux/dma-mapping.h:549:21: note: expected ‘dma_addr_t * {aka
> long long unsigned int *}’ but argument is of type ‘phys_addr_t * {aka
> unsigned int *}’
> static inline void *dma_alloc_coherent(struct device *dev, size_t size,
> ^
> cc1: some warnings being treated as errors
> scripts/Makefile.build:310: recipe for target
> 'drivers/firmware/qcom_scm.o' failed
> make[2]: *** [drivers/firmware/qcom_scm.o] Error 1
>
> patch to fix compilation issue:
> ------------------------------
> diff --git a/drivers/firmware/qcom_scm.c b/drivers/firmware/qcom_scm.c
> index af4c752..8dfbe61 100644
> --- a/drivers/firmware/qcom_scm.c
> +++ b/drivers/firmware/qcom_scm.c
> @@ -448,7 +448,7 @@ int qcom_scm_assign_mem(phys_addr_t mem_addr, size_t
> mem_sz,
> struct qcom_scm_mem_map_info *mem_to_map;
> phys_addr_t mem_to_map_phys;
> phys_addr_t dest_phys;
> - phys_addr_t ptr_phys;
> + dma_addr_t ptr_phys;
> size_t mem_to_map_sz;
> size_t dest_sz;
> size_t src_sz;
>
> Thanks,
> Arnaud
Powered by blists - more mailing lists