]> git.baikalelectronics.ru Git - kernel.git/commit
remoteproc: mtk_scp: use dma_addr_t for DMA API
authorArnd Bergmann <arnd@arndb.de>
Wed, 8 Apr 2020 15:54:29 +0000 (17:54 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 16 Apr 2020 22:53:15 +0000 (15:53 -0700)
commit566f082f7eb27318a90fe7c75f0c69ef56b21762
treefa6a39b2f786d0c0c3d6516c5fd87565b11eb94c
parent5ca913db63bfa3342b00499d7ed1a3f4db07e070
remoteproc: mtk_scp: use dma_addr_t for DMA API

dma_addr_t and phys_addr_t are distinct types and must not be
mixed, as both the values and the size of the type may be
different depending on what the remote device uses.

In this driver the compiler warns when the two types are different:

drivers/remoteproc/mtk_scp.c: In function 'scp_map_memory_region':
drivers/remoteproc/mtk_scp.c:454:9: error: passing argument 3 of 'dma_alloc_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
  454 |         &scp->phys_addr, GFP_KERNEL);
      |         ^~~~~~~~~~~~~~~
      |         |
      |         phys_addr_t * {aka unsigned int *}
In file included from drivers/remoteproc/mtk_scp.c:7:
include/linux/dma-mapping.h:642:15: note: expected 'dma_addr_t *' {aka 'long long unsigned int *'} but argument is of type 'phys_addr_t *' {aka 'unsigned int *'}
  642 |   dma_addr_t *dma_handle, gfp_t gfp)

Change the phys_addr member to be typed and named according
to how it is allocated.

Fixes: d5357ff61742 ("remoteproc/mediatek: add SCP support for mt8183")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20200408155450.2186471-1-arnd@arndb.de
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/mtk_common.h
drivers/remoteproc/mtk_scp.c