* [PATCH] [media] mx3_camera: use %pad format string for dma_ddr_t
@ 2016-02-01 16:45 Arnd Bergmann
2016-02-07 13:48 ` Guennadi Liakhovetski
0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2016-02-01 16:45 UTC (permalink / raw)
To: linux-arm-kernel
The mx3_camera driver prints DMA addresses using the "%x" format
string, which is wrong when using a 64-bit dma_addr_t definition:
media/platform/soc_camera/mx3_camera.c: In function 'mx3_cam_dma_done':
media/platform/soc_camera/mx3_camera.c:149:125: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=]
media/platform/soc_camera/mx3_camera.c: In function 'mx3_videobuf_queue':
media/platform/soc_camera/mx3_camera.c:317:119: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=]
media/platform/soc_camera/mx3_camera.c: In function 'mx3_videobuf_release':
media/platform/soc_camera/mx3_camera.c:346:119: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=]
This changes the code to use the special %pad format string, which
always does the right thing.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Another old bug that only rarely shows up in ARM randconfigs.
diff --git a/drivers/media/platform/soc_camera/mx3_camera.c b/drivers/media/platform/soc_camera/mx3_camera.c
index 169ed1150226..aa39e9569b1a 100644
--- a/drivers/media/platform/soc_camera/mx3_camera.c
+++ b/drivers/media/platform/soc_camera/mx3_camera.c
@@ -146,8 +146,8 @@ static void mx3_cam_dma_done(void *arg)
struct idmac_channel *ichannel = to_idmac_chan(chan);
struct mx3_camera_dev *mx3_cam = ichannel->client;
- dev_dbg(chan->device->dev, "callback cookie %d, active DMA 0x%08x\n",
- desc->txd.cookie, mx3_cam->active ? sg_dma_address(&mx3_cam->active->sg) : 0);
+ dev_dbg(chan->device->dev, "callback cookie %d, active DMA %pad\n",
+ desc->txd.cookie, mx3_cam->active ? &sg_dma_address(&mx3_cam->active->sg) : NULL);
spin_lock(&mx3_cam->lock);
if (mx3_cam->active) {
@@ -314,8 +314,8 @@ static void mx3_videobuf_queue(struct vb2_buffer *vb)
spin_unlock_irq(&mx3_cam->lock);
cookie = txd->tx_submit(txd);
- dev_dbg(icd->parent, "Submitted cookie %d DMA 0x%08x\n",
- cookie, sg_dma_address(&buf->sg));
+ dev_dbg(icd->parent, "Submitted cookie %d DMA %pad\n",
+ cookie, &sg_dma_address(&buf->sg));
if (cookie >= 0)
return;
@@ -344,8 +344,8 @@ static void mx3_videobuf_release(struct vb2_buffer *vb)
unsigned long flags;
dev_dbg(icd->parent,
- "Release%s DMA 0x%08x, queue %sempty\n",
- mx3_cam->active == buf ? " active" : "", sg_dma_address(&buf->sg),
+ "Release%s DMA %pad, queue %sempty\n",
+ mx3_cam->active == buf ? " active" : "", &sg_dma_address(&buf->sg),
list_empty(&buf->queue) ? "" : "not ");
spin_lock_irqsave(&mx3_cam->lock, flags);
^ permalink raw reply related [flat|nested] 2+ messages in thread* [PATCH] [media] mx3_camera: use %pad format string for dma_ddr_t
2016-02-01 16:45 [PATCH] [media] mx3_camera: use %pad format string for dma_ddr_t Arnd Bergmann
@ 2016-02-07 13:48 ` Guennadi Liakhovetski
0 siblings, 0 replies; 2+ messages in thread
From: Guennadi Liakhovetski @ 2016-02-07 13:48 UTC (permalink / raw)
To: linux-arm-kernel
Hi Arnd,
On Mon, 1 Feb 2016, Arnd Bergmann wrote:
> The mx3_camera driver prints DMA addresses using the "%x" format
> string, which is wrong when using a 64-bit dma_addr_t definition:
>
> media/platform/soc_camera/mx3_camera.c: In function 'mx3_cam_dma_done':
> media/platform/soc_camera/mx3_camera.c:149:125: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=]
> media/platform/soc_camera/mx3_camera.c: In function 'mx3_videobuf_queue':
> media/platform/soc_camera/mx3_camera.c:317:119: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=]
> media/platform/soc_camera/mx3_camera.c: In function 'mx3_videobuf_release':
> media/platform/soc_camera/mx3_camera.c:346:119: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'dma_addr_t {aka long long unsigned int}' [-Werror=format=]
>
> This changes the code to use the special %pad format string, which
> always does the right thing.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Thanks for the patch. I'll queue it for 4.6.
Guennadi
> ---
> Another old bug that only rarely shows up in ARM randconfigs.
>
> diff --git a/drivers/media/platform/soc_camera/mx3_camera.c b/drivers/media/platform/soc_camera/mx3_camera.c
> index 169ed1150226..aa39e9569b1a 100644
> --- a/drivers/media/platform/soc_camera/mx3_camera.c
> +++ b/drivers/media/platform/soc_camera/mx3_camera.c
> @@ -146,8 +146,8 @@ static void mx3_cam_dma_done(void *arg)
> struct idmac_channel *ichannel = to_idmac_chan(chan);
> struct mx3_camera_dev *mx3_cam = ichannel->client;
>
> - dev_dbg(chan->device->dev, "callback cookie %d, active DMA 0x%08x\n",
> - desc->txd.cookie, mx3_cam->active ? sg_dma_address(&mx3_cam->active->sg) : 0);
> + dev_dbg(chan->device->dev, "callback cookie %d, active DMA %pad\n",
> + desc->txd.cookie, mx3_cam->active ? &sg_dma_address(&mx3_cam->active->sg) : NULL);
>
> spin_lock(&mx3_cam->lock);
> if (mx3_cam->active) {
> @@ -314,8 +314,8 @@ static void mx3_videobuf_queue(struct vb2_buffer *vb)
> spin_unlock_irq(&mx3_cam->lock);
>
> cookie = txd->tx_submit(txd);
> - dev_dbg(icd->parent, "Submitted cookie %d DMA 0x%08x\n",
> - cookie, sg_dma_address(&buf->sg));
> + dev_dbg(icd->parent, "Submitted cookie %d DMA %pad\n",
> + cookie, &sg_dma_address(&buf->sg));
>
> if (cookie >= 0)
> return;
> @@ -344,8 +344,8 @@ static void mx3_videobuf_release(struct vb2_buffer *vb)
> unsigned long flags;
>
> dev_dbg(icd->parent,
> - "Release%s DMA 0x%08x, queue %sempty\n",
> - mx3_cam->active == buf ? " active" : "", sg_dma_address(&buf->sg),
> + "Release%s DMA %pad, queue %sempty\n",
> + mx3_cam->active == buf ? " active" : "", &sg_dma_address(&buf->sg),
> list_empty(&buf->queue) ? "" : "not ");
>
> spin_lock_irqsave(&mx3_cam->lock, flags);
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-02-07 13:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-01 16:45 [PATCH] [media] mx3_camera: use %pad format string for dma_ddr_t Arnd Bergmann
2016-02-07 13:48 ` Guennadi Liakhovetski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox