diff mbox

dmaengine: k3dma: use correct format string for debug output

Message ID 20160906131804.1961750-1-arnd@arndb.de (mailing list archive)
State Accepted
Headers show

Commit Message

Arnd Bergmann Sept. 6, 2016, 1:17 p.m. UTC
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(-)

Comments

Vinod Koul Sept. 7, 2016, 8:12 a.m. UTC | #1
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 mbox

Patch

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)