dmaengine: zynqmp: avoid cast warning
authorArnd Bergmann <arnd@arndb.de>
Mon, 11 Jul 2016 21:46:09 +0000 (23:46 +0200)
committerVinod Koul <vinod.koul@intel.com>
Tue, 12 Jul 2016 04:33:16 +0000 (10:03 +0530)
The newly added zynqmp_dma driver produces a warning on 32-bit architectures
when dma_addr_t is 64-bit wide:

drivers/dma/xilinx/zynqmp_dma.c: In function 'zynqmp_dma_config_sg_ll_desc':
drivers/dma/xilinx/zynqmp_dma.c:321:9: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
        ((dma_addr_t)sdesc - (dma_addr_t)chan->desc_pool_v);
         ^
drivers/dma/xilinx/zynqmp_dma.c:321:29: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
        ((dma_addr_t)sdesc - (dma_addr_t)chan->desc_pool_v);

This changes the cast to the more appropriate uintptr_t.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/xilinx/zynqmp_dma.c

index 59bc1f7..f777a5b 100644 (file)
@@ -318,7 +318,7 @@ static void zynqmp_dma_config_sg_ll_desc(struct zynqmp_dma_chan *chan,
 
        if (prev) {
                dma_addr_t addr = chan->desc_pool_p +
-                           ((dma_addr_t)sdesc - (dma_addr_t)chan->desc_pool_v);
+                           ((uintptr_t)sdesc - (uintptr_t)chan->desc_pool_v);
                ddesc = prev + 1;
                prev->nxtdscraddr = addr;
                ddesc->nxtdscraddr = addr + ZYNQMP_DMA_DESC_SIZE(chan);