OSDN Git Service

ti: ethernet: davinci: Fix cast to int warnings
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 21 May 2018 18:45:55 +0000 (11:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 May 2018 20:17:10 +0000 (16:17 -0400)
Now that we can compile test this driver on 64-bit hosts, we get some
warnings about how a pointer/address is written/read to/from a register
(sw_token). Fix this by doing the appropriate conversions, we cannot
possibly have the driver work on 64-bit hosts the way the tokens are
managed though, since the registers being written to a 32-bit only.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/davinci_cpdma.c

index 9ec4921..cdbddf1 100644 (file)
@@ -1080,7 +1080,7 @@ int cpdma_chan_submit(struct cpdma_chan *chan, void *token, void *data,
        writel_relaxed(buffer, &desc->hw_buffer);
        writel_relaxed(len, &desc->hw_len);
        writel_relaxed(mode | len, &desc->hw_mode);
-       writel_relaxed(token, &desc->sw_token);
+       writel_relaxed((uintptr_t)token, &desc->sw_token);
        writel_relaxed(buffer, &desc->sw_buffer);
        writel_relaxed(len, &desc->sw_len);
        desc_read(desc, sw_len);
@@ -1121,15 +1121,15 @@ static void __cpdma_chan_free(struct cpdma_chan *chan,
        struct cpdma_desc_pool          *pool = ctlr->pool;
        dma_addr_t                      buff_dma;
        int                             origlen;
-       void                            *token;
+       uintptr_t                       token;
 
-       token      = (void *)desc_read(desc, sw_token);
+       token      = desc_read(desc, sw_token);
        buff_dma   = desc_read(desc, sw_buffer);
        origlen    = desc_read(desc, sw_len);
 
        dma_unmap_single(ctlr->dev, buff_dma, origlen, chan->dir);
        cpdma_desc_free(pool, desc, 1);
-       (*chan->handler)(token, outlen, status);
+       (*chan->handler)((void *)token, outlen, status);
 }
 
 static int __cpdma_chan_process(struct cpdma_chan *chan)