Message ID | 20160906131804.1961750-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Tue, Sep 06, 2016 at 03:17:49PM +0200, Arnd Bergmann wrote: > The newly added k3_dma_prep_dma_cyclic function has some debug output > that uses incorrect typecasts, some of which cause a warning like: > > drivers/dma/k3dma.c: In function 'k3_dma_prep_dma_cyclic': > drivers/dma/k3dma.c:589:671: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] > > In general, we have to print 'dma_addr_t' values using special > '%pad' format to get the correct behavior on kernels that have > a 64-bit dma_addr_t type but 32-bit pointers. > > Similarly, printing size_t values should be done using the %z > modifier to get the correct behavior on 64-bit kernels. Applied both, thanks
diff --git a/drivers/dma/k3dma.c b/drivers/dma/k3dma.c index 814e6e04e15c..aabcb7934b05 100644 --- a/drivers/dma/k3dma.c +++ b/drivers/dma/k3dma.c @@ -586,9 +586,9 @@ k3_dma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t modulo = DMA_CYCLIC_MAX_PERIOD; u32 en_tc2 = 0; - dev_dbg(chan->device->dev, "%s: buf %p, dst %p, buf len %d, period_len = %d, dir %d\n", - __func__, (void *)buf_addr, (void *)to_k3_chan(chan)->dev_addr, - (int)buf_len, (int)period_len, (int)dir); + dev_dbg(chan->device->dev, "%s: buf %pad, dst %pad, buf len %zu, period_len = %zu, dir %d\n", + __func__, &buf_addr, &to_k3_chan(chan)->dev_addr, + buf_len, period_len, (int)dir); avail = buf_len; if (avail > modulo)
The newly added k3_dma_prep_dma_cyclic function has some debug output that uses incorrect typecasts, some of which cause a warning like: drivers/dma/k3dma.c: In function 'k3_dma_prep_dma_cyclic': drivers/dma/k3dma.c:589:671: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] In general, we have to print 'dma_addr_t' values using special '%pad' format to get the correct behavior on kernels that have a 64-bit dma_addr_t type but 32-bit pointers. Similarly, printing size_t values should be done using the %z modifier to get the correct behavior on 64-bit kernels. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: a7e08fa6cc78 ("k3dma: Add cyclic mode for audio") --- drivers/dma/k3dma.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)